jQuery表单验证不起作用,意外结束输入

时间:2014-05-23 15:00:36

标签: javascript jquery validation

我正在创建一个简单的留言簿,我们特别要求我们使用jQuery来验证空字段。我一直在谷歌搜索几个小时试图找出为什么我的验证不起作用 - 但我没有遇到任何有效的解决方案。

但是当我使用Chrome调试应用时,我得到:

Uncaught SyntaxError: Unexpected end of input - 在我的doctype-declaration之前,控制台窗口中出现一个红点。

这与验证无效有关吗?我的代码的相关部分如下所示。

形式:

<form id="aForm" method="post" action="">

        <ol>
            <li>
                <label for="name">Name:</label> 
                <input type="text" name="name" placeholder="Type your name...">

            </li>
            <li>
                <label for="comment"></label>
                    <br>Message: <br><textarea maxlength="100" name="comment"
                    placeholder="Share a thought..." rows=6 cols=33></textarea>

            </li>
            <li>
                <input type="submit" name="submit" value="Submit your message!">
            </li>
        </ol>

    </form>

在文档末尾进行验证(脚本来自可信插件):

<script src="js/jquery.js"></script>
<script src="js/validation.js"></script>

<script>
   $(document).ready(function() {
    $.validator.setDefaults({
        submitHandler: function() { alert("Submitted!"); }
    });

    $("#aForm").validate({
        rules: {
             name: { required: true },
             comment: { required: true }
        },
        messages: {
             name: "Please enter your name",
             email: "Please enter a comment"
        }

});

</script>

4 个答案:

答案 0 :(得分:1)

您没有关闭$("#aForm").validate(

开放的治疗

代码应为:

<script>
   $(document).ready(function() {
    $.validator.setDefaults({
        submitHandler: function() { alert("Submitted!"); }
    });

    $("#aForm").validate({
        rules: {
             name: { required: true },
             comment: { required: true }
        },
        messages: {
             name: "Please enter your name",
             email: "Please enter a comment"
        }); //<= added


});

</script>

答案 1 :(得分:0)

您错过了最终结束}); 尝试:

<script>
   $(document).ready(function() {
    $.validator.setDefaults({
        submitHandler: function() { alert("Submitted!"); }
    });

    $("#aForm").validate({
        rules: {
             name: { required: true },
             comment: { required: true }
        },
        messages: {
             name: "Please enter your name",
             email: "Please enter a comment"
        }

    });
 });

</script>

答案 2 :(得分:0)

我不知道这是不是问题,但请尝试更改此

email: "Please enter a comment"

到这个

comment: "Please enter a comment"

因为没有电子邮件textarea或输入。

答案 3 :(得分:0)

检查出来:

<script>
   $(document).ready(function() {
      $.validator.setDefaults({
          submitHandler: function() { alert("Submitted!"); }
      });

      $("#aForm").validate({
         rules: {
             name: { required: true },
             comment: { required: true }
          },
          messages: {
              name: "Please enter your name",
              comment: "Please enter a comment" // email in original code
          }
     }); // missing in original code
});