【问题标题】:Alert won't fire, jquery form validation警报不会触发,jquery 表单验证
【发布时间】:2015-01-27 10:24:14
【问题描述】:

我正在创建一个表单验证器,但没有触发警报。 这是代码块... 编辑:我已经放置了 .在提交之前,是的,我已经在开头包含了脚本......

<form id="validationForm">
    <label for="email">Email</label>
    <input id="email" type="email" /> <br>
    <label for="Telephone">Telephone</label>
    <input id="Telephone" type="number" /><br> 
    <label for="Password">Password</label>
    <input id="Password" type="Password" /><br>
    <label for="ConfirmPassword">Confirm Password</label>
    <input id="ConfirmPassword" type="Password" /><br>
    <input id="submit" type="submit" value="Done" />
</form>

</div>
<script>
$("#validationForm").submit(function(event) {
    alert("working");
});

</script>

【问题讨论】:

  • 浏览器控制台中的任何错误
  • 选择器后面不应该有一个点吗?所以 $("#validationForm").submit(function(event) {
  • no.. not in chrome..but ie显示网页错误详细信息消息:预期';'行:54 字符:22 代码:0 我认为这并不重要,因为当其他问题出现时,它总是显示类似的内容。
  • 即使在放置 '.' 之后它仍然无法正常工作:(
  • 即使在 Chrome 中不强制要求在其他浏览器需要它的情况下包含它,这不是一个好主意吗?

标签: javascript jquery html forms validation


【解决方案1】:

一个错字,从普通对象访问属性时应该使用点

$("#validationForm").submit(function(event) {
--------------------^
    alert("working");
});

【讨论】:

  • @RishabhMaheshwari 控制台中是否显示任何错误?
  • @RishabhMaheshwari 您是否将 Jquery 包含到您的 HTML 中?
  • 网页错误详情用户代理:Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.1;Trident/4.0;SLCC2;.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;Media Center PC 6.0;.NET4.0C) 时间戳:2015 年 1 月 27 日星期二 10:38:04 UTC 消息:预期对象行:54 字符:1 代码:0
  • 是开头
  • 您使用的是什么版本的 JQuery?如果您使用的是旧版本,则提交按钮可能需要更多更少的参数。在这里查看api.jquery.com/submit
【解决方案2】:

$("#validationForm").submit(function(event) {
    alert("working");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="validationForm">
  <label for="email">Email</label>
  <input id="email" type="email" />
  <br>
  <label for="Telephone">Telephone</label>
  <input id="Telephone" type="number" />
  <br>
  <label for="Password">Password</label>
  <input id="Password" type="Password" />
  <br>
  <label for="ConfirmPassword">Confirm Password</label>
  <input id="ConfirmPassword" type="Password" />
  <br>
  <input id="submit" type="submit" value="Done" />
</form>

</div>

您在 submit() 之前错过了点标记。

【讨论】:

  • 我在开头包含了脚本
  • @RishabhMaheshwari:我没有得到你。什么问题,我的代码不起作用?
  • 你能把你的代码贴在你的头标签中吗
  • 它起作用了问题出在我身上,包括 jquery 2.1.3,当使用你的链接时,我包括 2.1.1 它起作用了;)
【解决方案3】:

. (点)在提交丢失之前放置它,一切都会正常工作

$("#validationForm").submit(function(event) {
    alert("working");
});

【讨论】:

    【解决方案4】:

    代码中缺少点。

    <script>
    $("#validationForm").submit(function(event) {
        alert("working");
    });
    
    </script>
    

    【讨论】:

      【解决方案5】:

      检查您的 JQuery 版本。根据您可以拥有的版本 不同的语法。

      还有

      像这样在代码中添加一个点和阻止默认方法:

      $("#validationForm").submit(function(event) 
      {
          alert("working");
          event.preventDefault();
      });
      

      Fiddle demo

      【讨论】:

      • 检查 Jquery 是否正在加载
      • 打开页面源代码并确保您的 HTML 头标签中包含 JQuery 引用。
      • 你能把你的代码贴在你的头标签中吗
      • @KyleT 问题是我包含 jquery 2.1.3 它在我包含 2.1.1 时工作... 2.1.3 有不同的语法吗?
      • @RishabhMaheshwari Well 2.1.3 是在去年 12 月(上个月)才发布的,所以它可能仍然存在一些错误。我看不到快速谷歌的任何变化。我建议同时坚持使用 2.1.1 :) 很高兴你把它整理好了
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-06
      • 2016-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-13
      相关资源
      最近更新 更多