0

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

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

4

1 回答 1

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可能更有意义——我只是懒惰。)

于 2013-03-14T01:41:58.633 回答