jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery submit事件处理程序只能工作一次大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用jQuery 1.6使用.submit()事件处理程序来验证一个简单的表单,该表单无效时返回false:
$(function() {
  $('#my-form').submit(function(event) {
    if (true) {  // for tesTing,always go through the failure path
      alert("Invalid entry");
      return false;
    } else {
      return true;
    }
  });
});

如果用户进行了选择,则表单已正确提交.如果用户没有进行选择,则会显示警报,并且表单未提交(再次正确).问题是在这种情况下,提交按钮不再有效.换句话说,一旦发生故障,用户就停留在窗体中,但点击提交按钮什么都不做.

我已经验证了HTML(没有重复的ID,没有名称/ ID“提交”,“长度”等).表单被动态加载,所以使用Firebug进行测试是一个问题.表单上的其他事件处理程序正常工作(例如,当字段值更改时,我会看到警报).另一个奇怪的是,我用“event.preventDefault(); return true”替换“return false”,但表单仍然提交. (我认为.preventDefault()将会停止.)

有任何想法吗?

编辑:这种方法有效:

$(function() {
  $('#my-form :submit').click(function(event) {
    if (...validation stuff goes here...) {
      alert("Invalid entry");
      return false;
    } else {
      $('#my-form').submit();
    }
  });
});

我仍然想知道我的original.submit()事件处理方法有什么问题.

解决方法

请阅读本文档到“$().on”方法(这取代了.live())

http://api.jquery.com/on/

检查您的表单是否由某个ajax方法重新创建 – 如果它的处理程序将被丢弃.

大佬总结

以上是大佬教程为你收集整理的jQuery submit事件处理程序只能工作一次全部内容,希望文章能够帮你解决jQuery submit事件处理程序只能工作一次所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。