我是javascript的新手并且很难验证我的表单。
我有一个来自客户提问的地方。有2个必需的问题(范围的),我已经在一个循环中设置了requiredQuestions数组,在javascript中引用,以便只验证所需的问题)
这是我的表单代码:
<form id="frmQuestion" method="post">
<input type="range" id="#QuestionID# name="#QuestionID#" min="0" max="10">
<textarea cols="40" rows="10" name="#QuestionDomID#" id="#QuestionDomID#" </textarea>
<input type="button" value="submit" id="frmQuestion_submit">
</form>
这是javascript:
<cfoutput>
<script type="text/javascript">
$('##frmQuestion_submit').click(function()
{
var jsArr;
var jsArr = #SerializeJson(requiredQuestions)#;
for(var i=0;i<jsArr.length;i++){
var question = jsArr[i].FNAME;
var qValue = $("##QuestionID#").val();
if (qValue == 0){
alert('Please fill all required fields');
return false;
}
else{
return true;
}
}
});
</script>
我只想提醒一次,但这里提醒两次 - 每个问题一次。如果我添加return false,它会在第一个问题得到解答时不发出警报。
答案 0 :(得分:0)
遍历所有数组并设置一个标志,指示如果找到一个错误条件。循环执行后,检查标志并采取相应的行动。
var validationFailed = false;
for(var i=0;i<jsArr.length;i++){
var question = jsArr[i].FNAME;
var qValue = $("##QuestionID#").val();
if (qValue == 0){
validationFailed = true;
}
}
if (validationFailed)
{
alert('Please fill all required fields');
return false;
}
else
{
return true;
}