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

标签 javascript php jquery ajax forms

我有以下代码,应该通过 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(); 函数应该阻止表单实际触发,但它实际上确实触发了。

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

谢谢

最佳答案

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

<button id="form1SubmitBtn">Submit</button>
$('#form1SubmitBtn').click(function(){

  //do ajax here
});

快乐编码!!!

关于javascript - Ajax 表单无法使用 event.preventDefault() 阻止页面重新加载;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25094763/

相关文章:

javascript - 使用 Jquery 启用/禁用多个下拉列表?

c# - 验证摘要应显示在警告消息框中?

javascript - 如何在 JavaScript 中打印货币格式

php - 自动完成结果显示但找不到大写字母

php - 从动态网页中提取文本

javascript - 在 jQuery 中使用输入框对动态表进行排序

javascript - 检查对象文字数组中的重复值并从中创建一个新对象

php - 使用 PHP 从 URL 中获取整数值

jquery - 动态插入元素后无法触发 .on( 'timeupdate' , 'video' ....) 事件

javascript - 从对象 : object. 中调用函数 function()