-1

いくつかの限定されたチェックボックスを選択できるチェックボックスリストがあります。このために、私はそれらすべての「答え」の名前attrを設定して、js関数を適切に操作します(どこかから関数を取得しました)。

<?php
else if($result['type'] == "multipleChoice"){
echo'
<div><input type="checkbox" name="answer ans1" value="'.$res['probAns1'].'"/><input type="text" class="prob-ans" name="prob-ans1" value="'.$res['probAns1'].'"/><lable>:گزینه 1</lable></div>
<div><input type="checkbox" name="answer ans2" value="'.$res['probAns2'].'"/><input type="text" class="prob-ans" name="prob-ans2" value="'.$res['probAns2'].'"/><lable>:گزینه 2</lable></div>
<div><input type="checkbox" name="answer ans3" value="'.$res['probAns3'].'"/><input type="text" class="prob-ans" name="prob-ans3" value="'.$res['probAns3'].'"/><lable>:گزینه 3</lable></div>
<div><input type="checkbox" name="answer ans4" value="'.$res['probAns4'].'"/><input type="text" class="prob-ans" name="prob-ans4" value="'.$res['probAns4'].'"/><lable>:گزینه 4</lable></div>
';  
?>

まず、name attr に 2 つの値を設定するのは正しいですか。私はそれをしましたが、うまくいきませんでした。2番目の値は受け入れられないようです。そうでない場合、name="answer" しかない場合、どうすればそれらを指定できますか? これらのチェックボックスのいずれかが設定されている場合、php でいくつかの値を設定したいと考えています。

<?php
if($result['type'] == "multipleChoice"){
    $question->probAns1 = mysql_real_escape_string($_POST['prob-ans1']);
    $question->probAns2 = mysql_real_escape_string($_POST['prob-ans2']);
    $question->probAns3 = mysql_real_escape_string($_POST['prob-ans3']);
    $question->probAns4 = mysql_real_escape_string($_POST['prob-ans4']);
    if(isset($_POST['ans1'])){
        $question->answer1 = $_POST['prob-ans1'];
    }
}
?>
4

2 に答える 2

0

いいえ、あなたのように 2 つの名前を持つことはできません。ただし、次のことが可能です。

<input type="checkbox" name="answer[]" value="abc" />
<input type="checkbox" name="answer[]" value="def" />

あなた$_POSTは次のようになります(両方がチェックされている場合):

array(
    'answer' => array(
        0 =>      'abc',
        1 =>      'def'
    )
)

配列キーを指定することもできるのでname="answer[answ1]" value="abc"$_POST['answer']['answ1'] == 'abc'

于 2013-11-02T18:42:24.890 に答える
-2

ここにあなたがする必要があることのリンクがあります。

1 つの文で、html 要素の配列を使用する必要があります。

于 2013-11-02T18:36:28.260 に答える