ラジオボタン入力を検証する必要があります。つまり、送信ボタンが押されてラジオボタンが選択されていない場合、「チェックボックスを選択してください」とユーザーに警告します。ラジオボタンが選択された場合、フォームを送信しますアラートはありません。
これにはHTML CSSとJavaScriptのみを使用できます。jqueryの方が1000倍簡単であることがわかりますが、残念ながら使用できません。
また、HTMLが無効であることはわかっていますが、現在の問題に直接影響しない限り、後で処理します。
<form name="form1" action="#" onsubmit="return validateForm()" method="post">
First time visitor?:<br/>
<label for="s1">Yes</label>
<input type="radio" id="1" name="yesno" value="1"/>
<br/>
<label for="s2">No</label>
<input type="radio" id="1" name="yesno" value="2"/>
<br/>
<input type="submit" value="Submit"><br/>
</form>
ポインタは大歓迎です、ありがとう。
1番目:コードが正しくないことがわかっている場合は、何かを行う前に修正する必要があります。
次のようなことができます:
function validateForm() {
var radios = document.getElementsByName("yesno");
var formValid = false;
var i = 0;
while (!formValid && i < radios.length) {
if (radios[i].checked) formValid = true;
i++;
}
if (!formValid) alert("Must check some option!");
return formValid;
}
実際にご覧ください: http://jsfiddle.net/FhgQS/
JavaScriptを使用した完全な検証の例:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Radio button: full validation example with javascript</title>
<script>
function send() {
var genders = document.getElementsByName("gender");
if (genders[0].checked == true) {
alert("Your gender is male");
} else if (genders[1].checked == true) {
alert("Your gender is female");
} else {
// no checked
var msg = '<span style="color:red;">You must select your gender!</span><br /><br />';
document.getElementById('msg').innerHTML = msg;
return false;
}
return true;
}
function reset_msg() {
document.getElementById('msg').innerHTML = '';
}
</script>
</head>
<body>
<form action="" method="POST">
<label>Gender:</label>
<br />
<input type="radio" name="gender" value="m" onclick="reset_msg();" />Male
<br />
<input type="radio" name="gender" value="f" onclick="reset_msg();" />Female
<br />
<div id="msg"></div>
<input type="submit" value="send>>" onclick="return send();" />
</form>
</body>
</html>
よろしく、
フェルナンド
このようなことができます
var option=document.getElementsByName('Gender');
if (!(option[0].checked || option[1].checked)) {
alert("Please Select Your Gender");
return false;
}
<form action="" method="post" name="register_form" id="register_form" enctype="multipart/form-data">
<div class="text-input">
<label>Gender: </label>
<input class="form-control" type="radio" name="gender" id="male" value="male" />
<label for="male">Male</label>
<input class="form-control" type="radio" name="gender" id="female" value="female" />
<label for="female">Female</label>
</div>
<div class="text-input" align="center">
<input type="submit" name="register" value="Submit" onclick="return radioValidation();" />
</div>
</form>
<script type="text/javascript">
function radioValidation(){
var gender = document.getElementsByName('gender');
var genValue = false;
for(var i=0; i<gender.length;i++){
if(gender[i].checked == true){
genValue = true;
}
}
if(!genValue){
alert("Please Choose the gender");
return false;
}
}
</script>
ソース: http://chandreshrana.blogspot.in/2016/11/radio-button-validation-in-javascript.html
document.forms[ 'forms1' ].onsubmit = function() {
return [].some.call( this.elements, function( el ) {
return el.type === 'radio' ? el.checked : false
} )
}
頭から何かが。コードが機能しているかどうかわからない。
上記のJavaScriptソリューションに加えて、マークアップで必要に応じてラジオボタンをマークすることにより、HTML 5ソリューションを使用することもできます。これにより、Javascriptが不要になり、ブラウザに作業を任せることができます。
HTML5:「ラジオ」入力フィールドで「必須」属性を使用する方法 を参照してください。これをうまく行う方法の詳細については。