我有以下代码...
var min_val = [{"id":"driverDOA","value":date_of_accident},etc etc...];//put validation elements in an array
for (var i=0;i<min_val.length;i++)//loop through each element if array
{
var object = min_val[i];
if(object.value == "" || object.value == null)//if element is null or empty then execute code
{
document.getElementById(object.id).parentNode.innerHTML += '<div class="prompt accident">*</div>';
document.getElementById('accident-tab').innerHTML += '<div class="prompt accident">*</div>';
return false;
}
else
{
$('.prompt accident').remove();
sendAjaxRequest();
}
}
基本上,我通过将所需的元素存储在数组中来验证表单。然后我循环遍历数组并检查是否有任何空值。如果用户留下了一个值,则该元素旁边以及该部分的选项卡上会显示一个星号。
一旦用户填写了所有标记的表单元素,代码就会删除星号并发送 Ajax 请求。
但是目前,一旦找到空元素,它就会显示星号并停止。
我需要的是它每次循环遍历整个数组并显示所有星号。我有一种感觉,这将非常简单,但一直无法找到任何东西或弄清楚。
如有任何帮助,我们将不胜感激
最佳答案
var hasError=false;
for (var i=0;i<min_val.length;i++)//loop through each element if array
{
var object = min_val[i];
if(object.value == "" || object.value == null)//if element is null or empty then execute code
{
document.getElementById(object.id).parentNode.innerHTML += '<div class="prompt accident">*</div>';
document.getElementById('accident-tab').innerHTML += '<div class="prompt accident">*</div>';
hasError= true;
//return false; // remove this...
} else $('.prompt accident').remove();
}
if(!hasError) {
sendAjaxRequest();
}
关于javascript - 到达数组末尾后如何执行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13140097/