[英]How to do proper validation for this and set focus and then form has to submitted
在这里,我面临的一个问题是,如果条件能够对主题进行验证,并且无法设置焦点并且无法对中场进行验证。 这里的复选框来自mysql。 但是它仅提供这样的源。 任何人都可以找出我的代码中的问题吗?我必须在这里做什么。我希望每个人都明白这个问题。我需要适当的代码来验证这两个字段。 至少在主题列中,应该在区域字段中同样选择任何一个,也应该选择任何一个。 我尝试了很多事情。 但是我无法完成工作。
我需要的是:
<script type="text/javascript">
function check() {
var a1 = false;
b1 = false;
var chk = document.getElementsByName('subject[]');
var reg = document.getElementsByName('regional[]');
var len = chk.length;
var reg1 = reg.length;
if (len) {
for (i = 0; i < len; i++) {
if (chk[i].checked) {
return true;
} else {
alert('please select the subject');
a1 = true;
}
}
}
if (!chk[i].checked) {
chk[i].focus();
}
if (len) {
for (i = 0; i < len; i++) {
if (reg1[i].checked) {
return true;
} else {
alert('please select the medium');
b1 = true;
}
}
}
if (a1 == true && b1 == true) {
return true;
}
}
</script>
Myform is:
<form name="f1" action="s.php" method="post">
Subject
<input type='checkbox' name='subject[]' value='science'>science
<input type='checkbox' name='subject[]' value='maths'>maths<br/>
Medium
<input type='checkbox' name='regional[]' value='Hindi'>Hindi
<input type='checkbox' name='regional[]' value='english'>english<br/>
<input type="submit" name="land" class="butt" value="SUBMIT" onClick="return check();">
</form>
像这样
代替onclick使用onsubmit并分配功能onload
window.onload=function() { document.getElementsByName("f1")[0].onsubmit=function() { var chk = document.getElementsByName('subject[]'),chkOk=false; for (var i = 0, n=chk.length; i < n; i++) { if (chk[i].checked) { chkOk = true; break; } } console.log(chkOk) if (!chkOk) { alert('please select the subject'); chk[0].focus(); // focus the first return false; } var reg = document.getElementsByName('regional[]'),regOk=false; for (var i = 0, n=reg.length; i < n; i++) { if (reg[i].checked) { regOk = true; break; } } if (!regOk) { alert('please select the medium'); reg[0].focus(); // focus the first return false; } return true; // allow submit } }
<form name="f1" action="s.php" method="post" onsubmit="return check()"> Subject <input type='checkbox' name='subject[]' value='science'>science <input type='checkbox' name='subject[]' value='maths'>maths<br/> Medium <input type='checkbox' name='regional[]' value='Hindi'>Hindi <input type='checkbox' name='regional[]' value='english'>english<br/> <input type="submit" name="land" class="butt" value="SUBMIT"> </form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.