この問題は、実際には 2 つの部分と補足事項です。
補足事項 (問題には関係ありません) は、id は常に一意である必要があり、「question1」の id を持つ 2 つのラジオを持つことは無効です。
問題の 1 つは、フォームの送信時に確認することです。これを行う最も簡単な方法は、フォームの onsubmit タグに「return functName()」を追加することです。
<form name='myForm' action='test.php' method='post' onsubmit='return validate()'>
フォームが送信されるかどうかは、送信時に true を返すか false を返すかによって異なります。
2 つ目は、ラジオ ボックスを取得して、それらが選択されているかどうかを確認することです。以下を使用して、各ラジオ シークの入力を取得できます。
document.forms.myForm.nameOfRadioHere
その名前の入力のリストが表示されます。
次に、それらをループして、そのうちの1つが有効であると.checkedされていることを確認する必要があります。
コード例:
Javascript:
function validate(){
if (checkRadio("question1") && checkRadio("question2")){
return true;
}else{
alert("Please fill in both radio boxes!");
return false;
}
}
function checkRadio(name){
var radio = document.forms.myForm[name];
for (var option in radio){
if(radio[option].checked){
return true;
}
}
return false;
}
HTML
<form name='myForm' action="test.php" method="post" onsubmit='return validate()'>
<input type="radio" name="question1">
<input type="radio" name="question1">
<input type="radio" name="question2">
<input type="radio" name="question2">
<input type="submit" value="Submit">
</form>