event.preventDefault不起作用

Pet*_*art 3 javascript ajax jquery events preventdefault

我这里有这个简单的代码,没什么太先进的.

    $("input#send").submit(function(event){
      event.preventDefault();
    $.ajax({
        type: 'POST',
        url: add.php,
        data: data,
        success: success,
        dataType: dataType
    });
});
Run Code Online (Sandbox Code Playgroud)

当我点击"发送"按钮时,该event.preventDefault功能不起作用,页面加载.

有什么想法吗?

pim*_*vdb 10

一个表单有提交事件,而不是一个按钮.另外,ID应该是唯一的,所以tag#id可以#id.

$("#theform").submit(function(event) {
    event.preventDefault();
    // ...
});
Run Code Online (Sandbox Code Playgroud)

  • @PeterStuart我认为这是因为你没有在`add.php`周围加上引号,请参阅下面的答案.我同意@pimvdb关于将事件处理程序放在表单上的建议,因为您也可以通过键盘调用带有`enter`键的表单提交. (2认同)

Jas*_*per 7

如果要阻止表单提交,您需要绑定到表单的submit事件或按钮的click事件并调用event.preventDefault():

$('form').bind('submit', function (event) {
    event.preventDefault();
});

$('form').find(':submit').bind('click', function (event) {
    event.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)