0

情報が処理される別のページに情報を投稿できるフォームをコーディングしました。選択されていないオプションがあるかどうかをユーザーに尋ねたかった. 私のフォームは次のようになります。

<form action="answers-of-brain-teaser-questions.php" method="post">
<div>
<div>Question 1</div>
<input name="q1" type="radio" value="1">A. 1
<br />
<input name="q1" type="radio" value="2">B. 4
<br />
<input name="q1" type="radio" value="3">C. 3
<br />
<input name="q1" type="radio" value="4">D. 2
</div>
<div>
<div id="question">Question 2</div>
<input name="q2" type="radio" value="5">A. 1
<br />
<input name="q2" type="radio" value="6">B. 2
<br />
<input name="q2" type="radio" value="7">C. 3
<br />
<input name="q2" type="radio" value="8">D. 4
</div>
</form>

一部のラジオ ボタンがクリックされた場合にユーザーにメッセージを表示するにはどうすればよいですか。質問に回答が選択されていない (ラジオ ボタンが選択されていない) 場合にのみメッセージを表示したい。たとえば、質問 2 で選択肢が選択されていない場合。

4

3 に答える 3

2

これを行う最も簡単な方法は、 requiredと呼ばれる組み込みの HTML5 属性を使用することです。この属性は、フィールド (この場合はラジオ ボタン) を離れたことをユーザーに伝えます。
使用方法の例:

<!DOCTYPE HTML>
<html>
    <body>
        <form id="exampleForm" action="#" method="get">
            <input name="q1" type="radio" required="required" value="4">test<br />
            <input name="q1" type="radio" required="required" value="4">test<br />
            <input name="q1" type="radio" required="required" value="4">test<br />
            <input name="sform" type="submit">
        </form>
    </body>
</html>
于 2013-03-24T13:25:09.197 に答える
1

JQuery にアクセスできず、サポートしていないブラウザーをサポートしたいrequired場合は、次のようなものを使用できます。

var names = new Array("q1", "q2");
var notSelected = new Array();
var checked = "";
for(var i = 0; i < names.length; ++i) {
    var current = getElementsByName(names[i]);
    for(var j = 0; j < current.length; ++j) {
        if(current[j].checked) {
            checked = names[i];
        }
    }
    if(names[i] !== checked)
        notSelected.push(names[i]);
}
if(notSelected.length>0)
    alert("You have to select the following radiogroups: "+notSelected.join(", "));
于 2013-03-24T13:35:09.623 に答える
0

jquery経由で検証したい場合は、次のようになります- //スクリプトにjquery-min.jsを追加します

function validate(){
  if($("input[name=q2]:checked").length > 0) {
   //Is Valid
  }
}
<form action="answers-of-brain-teaser-questions.php" method="post" onsubmit="validate()">
<div>
<div>Question 1</div>
<input name="q1" type="radio" value="1">A. 1
<br />
<input name="q1" type="radio" value="2">B. 4
<br />
<input name="q1" type="radio" value="3">C. 3
<br />
<input name="q1" type="radio" value="4">D. 2
</div>
<div>
<div id="question">Question 2</div>
<input name="q2" type="radio" value="5">A. 1
<br />
<input name="q2" type="radio" value="6">B. 2
<br />
<input name="q2" type="radio" value="7">C. 3
<br />
<input name="q2" type="radio" value="8">D. 4
</div>
</form>

そして、あなたがそれをphpページでやりたいのなら、それからそれをチェックしてください-

if(!isset($_POST['q2'})){
//your msg to user
}
于 2013-03-24T13:35:15.410 に答える