0

mysql_ *形式で質問している場合は、申し訳ありません。現在使用している形式です。私はまだあなたたちが私を助けることができることを願っています。

だから私の問題は、フォームが送信されたときにエラーを表示しようとしていて、ラジオボタンの1つの行がオフになっていることです。ただし、私のコードに基づくと、Whileループ内に含めたと思うので、特定の行にのみ表示され、上部の単一のメッセージとしては表示されません。あなたたちはそれを行う方法についてアドバイスできますか?それがJavaScriptであろうと関数であろうと、私はそれで大丈夫です。私はそれを行う方法がわかりません:P。

これが私のコードです:

while($fetch=mysql_fetch_array($query)){

//DISPLAY ALL ANSWERS
if(isset($_POST['voted'])){
    if(in_array($_POST['score('.$fetch['questionID'].')'], $radioValue)){
        echo "<tr>Question no. ",$fetch['questionID'],": ",
        $_POST['score('.$fetch['questionID'].')'],"<br></tr>";
    }
    else{
        echo "<center><font color=red>All fields are required</font><br><br>
        <input type='button' name='return' value='Return' onclick='history.go(-1)'><br>";
        exit();
    }
}

//DISPLAYS QUESTIONS WITH QUESTION NUMBER
echo "<tr align=left><th><font face='Courier New,arial' size=2px>".$fetch["questionID"].". ".$fetch["question"]."<br>
    <td><font face='Courier New,arial' size=2px>";


//DISPLAYS RADIO BUTTONS FROM 1 to 5    
for($i = 1; $i < 6; $i++){
    echo "<input type=radio name='score(".$fetch["questionID"].")' value=",$i," >"; echo $i;
}   

}

4

2 に答える 2

1

エラーをチェックするために、whileループ内に変数を配置します。次のようなもの:

$validationFailed = false;
while($fetch=mysql_fetch_array($query)){

//DISPLAY ALL ANSWERS
if(isset($_POST['voted'])){
if(in_array($_POST['score('.$fetch['questionID'].')'], $radioValue)){
    echo "<tr>Question no. ",$fetch['questionID'],": ",
    $_POST['score('.$fetch['questionID'].')'],"<br></tr>";
}
else{
    $validationFailed = true;
    exit();
}
}

//following should be outside the while loop.
if($validationFailed) {
    echo "<center><font color=red>All fields are required</font><br><br>
    <input type='button' name='return' value='Return' onclick='history.go(-1)'><br>";
}
于 2013-03-11T10:28:32.053 に答える
0

まず、ラジオボタンに同じ名前を使用してください。値が異なります。trueの場合は送信時にこのコードを試し、それ以外の場合はフォームを投稿してエラーメッセージを表示します

var iz_checked = true;
$('input').each(function(){
   iz_checked = iz_checked && $(this).is(':checked');
});
于 2013-03-11T10:29:36.037 に答える