jQuery验证警报问题

时间:2016-09-14 19:48:37

标签: javascript validation

我是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,它会在第一个问题得到解答时不发出警报。

1 个答案:

答案 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;
}