在一个页面中有一表格,共3行内容,每行内容都有一个输入框,为必填,我用jquery校验,每次只能校验第一行的输入框,下面2个校验不到,如何才能?

解决方案 »

  1.   

    用html5啊 加一个required属性
      

  2.   

    问题在于你怎么写,不在JQ。JS是基于事件的,你可以在事件触发的去时候验证
      

  3.   

    不好意思啊,我没说清楚,表格是list循环出来的,所以每个input的id是一样的
    这怎么办啊
      

  4.   

    不是jquery做不到 是你做不到 
      

  5.   


    你得让每个input的id变得不一样
      

  6.   

    循环的时候,把设置id的部分,加上一个数字啊,比如把id设置成 "id"+i
    然后,在循环判断的时候,也利用这个就可以判别了~~~或者用var aa = document.getElementsByTagName("标签");
    利用aa[i]进行操作,获取所以的想要的操作,这样的话,在循环生成标签的时候,就没有必要进行id的设置了~~
    楼主自己选择操作啊~~
      

  7.   

    +1 说得非常对。
    表格是list循环出来的,所以每个input的id是一样的 ======= 可见非常不专业呀。别说三行输入框要验证,三百行不用jq也可以验证。jq就更不用说了。
    <input type="text" name="aa" id="a1" /><br/>
    <input type="text" name="a1" id="a2" /><br/>
    <input type="text" name="a2" id="a3" /><br/>
    <input type="text" name="a3" id="a4" /><br/>
    <input type="text" name="a4" id="a5" /><br/>
    <input type="text" name="a5" id="a6" /><br/>
    .........<br/>
    <button type="button" onclick="test()">检查</button>
    第一:id绝不能相同,或者干脆不要id
    <script type="text/javascript">
    var input=document.getElementsByTagName("input");
        for(var i=0;i<input.length;i++){
            input[i].onblur=function(){
                if(this.value==""){
                    alert("不能为空!");
                }
            }
        }
        //以上是鼠标点一下输入框,但没输入东西就走人马上提示
        function test(){
            for(var i=0;i<input.length;i++){
                if(input[i].value==""){
                   alert("第个"+(i+1)+"不能为空!");
                   input[i].focus();
                    break;
                }
            }
        }
    </script>