里面的代码是在表单提交之前还是之后$('form').submit(function() {});
执行的?
例如,如果我在那里编辑其中一个输入的值,新值是否会包含在请求中?
它在表单提交之前执行。否则页面会改变,并且由于 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
可能更有意义——我只是懒惰。)