Ajax表单无法使用event.preventDefault()阻止页面重新加载;

我有以下代码,假设通过Ajax提交表单而无需重新加载页面:

$( document ).on('submit', '.login_form', function( event ){ event.preventDefault(); var $this = $(this); $.ajax({ data: "action=login_submit&" + $this.serialize(), type: "POST", url: _ajax_login_settings.ajaxurl, success: function( msg ){ ajax_login_register_show_message( $this, msg ); } }); }); 

但是出于某种原因,尽管event.preventDefault(); 应该阻止forms实际射击的function,实际上它会起火。

我的问题是,如何防止上述表单重新加载页面?

谢谢

不要在文档上附加监听器,而是在提交按钮上使用on click处理程序并将类型更改为按钮。

  $('#form1SubmitBtn').click(function(){ //do ajax here }); 

快乐的编码!!!

比如你可以这样写

  $(".login_form").on('submit', function( event ){ var $this = $(this); $.ajax({ data: "action=login_submit&" + $this.serialize(), type: "POST", url: _ajax_login_settings.ajaxurl, success: function( msg ){ ajax_login_register_show_message( $this, msg ); } }); event.preventDefault(); }); 

你可以使用jquery和ajax来做到这一点。 下面是一个很好的片段代码,不刷新页面,而是提交表单隐藏,并被谢谢消息取代。 表单数据使用sendmail.php脚本发送到电子邮件地址。

假设您的表单有3个输入字段 – 名称,电子邮件和消息。

   

在表单标签的顶部,只需添加此标签即可显示感谢信息。

 

享受编码!!!!!!!