需要验证单选按钮输入,即当按钮被按下,没有单选按钮被选中提交,它会提醒用户说,“请选中复选框”,如果一个单选按钮被选中,那么只需提交表单,需要警报。
只能使用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>
问候,
费尔南多
<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
你可以做这样的事情
var option=document.getElementsByName('Gender');
if (!(option[0].checked || option[1].checked)) {
alert("Please Select Your Gender");
return false;
}
document.forms[ 'forms1' ].onsubmit = function() {
return [].some.call( this.elements, function( el ) {
return el.type === 'radio' ? el.checked : false
} )
}
只是一些我的头了。 不知道代码工作。
除了上面的JavaScript解决方案,您还可以通过作为标记需要标记的单选按钮使用HTML 5的解决方案。 这将消除任何JavaScript的需要,让浏览器做的工作适合你。
请参阅HTML5:如何使用“必需的”属性与“无线”输入字段就如何做好这一点的详细信息。