仅JavaScript动态数组字段验证

时间:2014-04-28 10:27:19

标签: javascript forms validation input

我认为for语句有问题吗?

再次调整代码,但即使所有输入字段都获得了值,也没有警报弹出窗口?

您好我正在尝试验证表单上的动态字段数组:

<form onsubmit="return checkReq();">
    <input value="" type="hidden" name="slider[]" id=""/>
</form>

使用以下JavaScript,但它不起作用?你能告诉我,我做错了吗。

    <script language="javascript">
    function checkReq () {
        var boxes = document.getElementsByName("slider[]");
    var ret = true;
    for (var x = 0; x < boxes.length; x++) {

        if(boxes[x].value == '' || '0'){
            ret = false;
            break;
            } else {ret = true;} 

         }
   if (ret == false)
   {
     alert('Problem'); return ret;        
   }
}
    </script>

3 个答案:

答案 0 :(得分:1)

我认为这可能有所帮助。

function checkReq () {
     var boxes = document.getElementsByName("slider[]");
var ret = true;
for (var x = 0; x < boxes.length; x++) {       
    if(boxes[x].value == '' || boxes[x].value == '0'){
        ret = false;
        break;
        } else {ret = true;} 

     }    
   if (ret == false)
   {
     alert('Problem'); return ret;        
   }
}

答案 1 :(得分:0)

试试这个 您正在尝试比较元素而不是它的值JSFIDDLE

function checkReq () {
    var boxes = document.getElementsByName("slider[]");

    for (var x = 0; x < boxes.length; x++) {

       if(boxes[x].value == '' || boxes[x].value == '0'){

            alert('Problem'); return false;

         } 
         else {return true;} 
    }
}

答案 2 :(得分:0)

你总是在第一个循环之后返回,所以它不会遍历每个元素(因此是多余的),这是有意的吗?