欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Jquery 在submit方法中返回false以后无法提交表单的解决方法。

shiping1 的头像
今天,在做练习时,使用到了jquery做前台的错误判断。

其中,就有需要在检查到有错误的逻辑时,阻止用户提交表单。这么一个需求。

当时,因为不想使用

[html] view plain copy
 
  1. <input type='submit' onsubmit="return XX()" />  

这种方法,所以直接码了这么一句。
[html] view plain copy
 
  1. $("#提交按钮").submit(function(){return false;})  
然后,测试时,确实能实现当用户输入了错误的信息时,阻止表单提交。

 

但是,问题也随之而来了。当用户改正错误以后。再点提交时,表单已经不会再被提交了。

换句话说,就是和之前有错误信息一样,用户点提交将不会有任何反应。

后来,上网查了一下。大概是说,因为运行那一句话后,浏览器会将 指定对象的默认事件以及事件冒泡都停止掉。

所以,只要运行过那句话后,不管再怎样点击那个按钮,表单都不会被提交的。

至此,知道了原因,开始着手解决。但是,此时又陷入了另一个死胡同,当时一个劲在想,怎样使提交按钮恢复初态。浪费了不少时间。

其实,只需要在确保所有逻辑都正确以后,调用

[html] view plain copy
 
  1. $("#表单ID").submit()  
就可以了~

来自 
http://blog.csdn.net/sb1ue/article/details/7005330
普通分类: