繁体   English   中英

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

[英]jQuery Form validation isn't working, unexpected end of input

我正在创建一个简单的留言簿,这是一项特别要求我们使用jQuery验证空白字段的任务。 我已经搜寻了几个小时,试图找出为什么我的验证无法正常工作-但是我还没有遇到任何有效的解决方案。

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

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

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

形成:

<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>

您没有关闭在$("#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>

您错过了最后的结局}); 尝试:

<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>

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

email: "Please enter a comment"

对此

comment: "Please enter a comment"

因为没有电子邮件文本区域或输入。

看一下这个:

<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
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM