【发布时间】:2015-01-28 07:55:11
【问题描述】:
我有以下表格:
echo '<form method="post" id="myForm" onsubmit="return formComp()">';
foreach($array as $value){
echo '<input type="checkbox" name="check[]" value="$value">';
}
echo '<input type="submit" name="ok" value="OK">';
echo '</form>';
和javascript:
function formComp(){
var theForm=document.getElementById("myForm");
var a = theForm.elements['check[]'];
for( var i=1; i<a.length; i++){
if(!a[i].checked){
alert('Select an option');
return false;
}
else{
return true;
break;
}
}
}
我正在捕获一个 php 数组,并在循环中使用它,以便我可以检查每个选项是否符合要求(如果已检查)。问题是即使我检查一个选项它也不会停止。当至少一个选项被选中时,我需要循环停止并返回 true,以便提交。
编辑:顺便说一句,当我检查每个选项时,该函数返回 true。但是当至少一个选项被选中时,我不能让它返回 true。
【问题讨论】:
-
您需要检查所有选项还是什么? PS。这不是 PHP 数组。
-
@FlashThunder ,问题是我不想检查所有选项让我提交,如果只提交一个就足够了。但是如果不检查所有选项,该功能不会让我.而且我很确定它是一个 php 数组,请检查上面表格中的 check[]
-
check[]只是HTML元素的名称。它是数组,因为它有[],正如HTML规范中所定义的那样ツツツ 但是,无论如何,请检查我的答案,它应该符合您的需求。
标签: javascript php arrays object