如果使用jquery启用javascript,则阻止触发默认表单提交事件

时间:2011-10-18 16:43:18

标签: javascript jquery

我在页面上有一个表单。在里面我有一个元素。如果启用了javascript,我想禁用提交事件。并使用Ajax处理MyMethod中的操作。如何防止提交事件被触发?

我相信一些形式:event.preventDefault()可以解决问题。但是我无法弄清楚如何传递这个事件。

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以订阅表单的.submit()事件并从中返回false:

$(function() {
    $('form').submit(function() {
        // TODO: do your AJAX stuff here
        // for example ajaxify the form
        $.ajax({
            url: this.action,
            type: this.method,
            data: $(this).serialize(),
            success: function(result) {
                // TODO: process the result of your AJAX request
            }
        });

        // this is what will cancel the default action
        return false;
    });
});

或:

$(function() {
    $('form').submit(function(evt) {
        evt.preventDefault();

        // TODO: do your AJAX stuff here
        // for example ajaxify the form
        $.ajax({
            url: this.action,
            type: this.method,
            data: $(this).serialize(),
            success: function(result) {
                // TODO: process the result of your AJAX request
            }
        });
    });
});