提交事件中的代码在表单提交之后或之前执行?

时间:2013-03-14 01:40:45

标签: jquery

$('form').submit(function() {});内的代码是否在之前执行 表单提交之后?

例如,如果我编辑其中一个输入的值,新值是否会包含在请求中?

1 个答案:

答案 0 :(得分:1)

它在表单提交之前执行。否则页面会发生变化,并且由于JavaScript环境与页面相关联,因此它也会发生变化。这将使你在一个可能相当奇怪的环境中执行。

$("form").submit(function(){
    $(this).append('<input type="hidden" name="foo" value="bar" />');
});

意味着每个表单在提交之前都会附加该输入(假设启用了JS)。

类似地:

$("#someForm").submit(function() {
    if (/* something */) {
        alert("Form invalid"); //alert() is terrible, but you get the point
        return false; //Blocks submission
    } else {
        return true;
    }
});

(注意:根据情况和其他绑定,使用preventDefault可能会more sense - 我只是懒惰。)