自分のフォームでラジオ選択が行われていないかどうかを確認するのに苦労しています。私のフォームには 5 つの項目があり、各項目には 2 つのオプション (ラジオ ボタン) が与えられています。このようなもの:
item 1 opt1 opt2 (name attribute is "1")
item 2 opt1 opt2 (name attribute is "2")
item 3 opt1 opt2
item 4 opt1 opt2
item 5 opt1 opt2
項目が動的に生成されるため、すべての入力ラジオ ボタンに同じクラス名を付けました。入力の name 属性もそうです。各項目をチェックする私のコードは次のとおりです。
$(document).ready(
function(){
$('#submit').click(function(){
var buttons = document.getElementsByClassName('radio_class');
var radio_num = buttons.length; //which returns 10 in this case
var error = "";
for (var i=0; i<radio_num; i=i+2){
var radio_name = buttons[i].getAttribute("name");
if (!$("input[@name=radio_name]:checked").val()) {
error += radio_name + " ";
}
}
if (error !== "") {
alert (error+"not checked!");
return false;
}
else {
alert ("All the items have been checked.")
}
}
);
}
);
5 つの項目すべてがチェックされていない場合は、「1 2 3 4 5 未チェック」という正しいメッセージが警告されますが、1 つの項目だけをチェックすると、「すべての項目がチェックされています」というメッセージが表示されます。警告されます。誰でもこれで私を助けることができますか?ありがとう。