我认为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>
答案 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)
你总是在第一个循环之后返回,所以它不会遍历每个元素(因此是多余的),这是有意的吗?