event.preventDefault之后的触发事件

时间:2011-08-26 14:31:26

标签: javascript ajax events javascript-events callback

我正在点击表单的提交按钮。我event.preventDefault()禁用默认浏览器操作,所以我可以在点击按钮后执行我的操作。我这种情况下我做AJAX调用服务器。通过服务器的响应,我想选择是继续提交表单还是做其他事情。

$inviteSubmitForm.find('input[name="accept"]').click(function(e){
    e.preventDefault();

    $.ajax({
        ...
        success  : function(data) {

            if (data.something) {
                ...
            } else {
                ...
            }

        }
    });
});

问题是,我无法对点击按钮进行默认操作,cos逻辑在AJAX回调中。所以return true只是结束回调函数 - 我不能使用这个简单的技巧。移动e.preventDefault()也是不行的,cos表格会立即提交。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

触发提交表单:

$inviteSubmitForm.find('input[name="accept"]').click(function(e){
    e.preventDefault();

    $.ajax({
        ...
        success  : function(data) {

            if (data.something) {
                // don't submit
            } else {
                $inviteSubmitForm.submit();
            }

        }
    });
});