私は1つの形式で2つのラジオボタンのセットを持っています。セットごとに1つのラジオボタンをチェックしていない場合は、フォームを送信することはできません。可能であれば、JSのみ(jQueryはありません)のソリューションが欲しいです。私はここで古い質問に役立つ機能を見つけ、それを私のケースに適応しようとしましたが、明らかに失敗しました。私のミスはどこですか?JavaScriptを使用して2つのラジオボタンを1つのフォームで検証する方法はありますか?
<form>
<input type="radio" name="date_1" id="dat-1_27-10" value="2017-10-27" <?php echo $checked1 ;?> />
<input type="radio" name="date_1" id="dat-1_28-10" value="2017-10-28" <?php echo $checked2 ;?> />
<input type="radio" name="date_1" id="dat-1_03-11" value="2017-11-03" <?php echo $checked3 ;?> />
<input type="radio" name="date_1" id="dat-1_04-11" value="2017-11-04" <?php echo $checked4 ;?> />
<input type="radio" name="date_2" id="dat-2_27-10" value="2017-10-27" <?php echo $checked5 ;?> />
<input type="radio" name="date_2" id="dat-2_28-10" value="2017-10-28" <?php echo $checked6 ;?> />
<input type="radio" name="date_2" id="dat-2_03-11" value="2017-11-03" <?php echo $checked7 ;?> />
<input type="radio" name="date_2" id="dat-2_04-11" value="2017-11-04" <?php echo $checked8 ;?> />
<input type="submit" name="send" value="send" id="submit" onclick='return validateDateOne(); return validateDateTwo();'/>
</form>
<script>
function validateDateOne() {
if (!$("input[name='date_1']:checked").val()) {
alert('Please choose your favourite date');
return false;
}
else {}
}
function validateDateTwo() {
if (!$("input[name='date_2']:checked").val()) {
alert('Please choose a second date');
return false;
}
else {}
}
</script>
検証するための一つの機能を持っています。その関数であなたのロジックを追加してください。 – selvassn
ただ、_validateDateTwo()_関数を完全に削除することによってラジオボタンのセットのうち_one_を検証しようとしています。関数自体にエラーがあるはずです。 – lioness