繁体   English   中英

如何对此进行适当的验证并设置焦点,然后提交表单

[英]How to do proper validation for this and set focus and then form has to submitted

在这里,我面临的一个问题是,如果条件能够对主题进行验证,并且无法设置焦点并且无法对中场进行验证。 这里的复选框来自mysql。 但是它仅提供这样的源。 任何人都可以找出我的代码中的问题吗?我必须在这里做什么。我希望每个人都明白这个问题。我需要适当的代码来验证这两个字段。 至少在主题列中,应该在区域字段中同样选择任何一个,也应该选择任何一个。 我尝试了很多事情。 但是我无法完成工作。

我需要的是:

  1. 如果其空警报+焦点,则应在主题字段中选择任何一个。
  2. 像明智的中等领域。
<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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM