$('form').submit(function() {});
内的代码是否在之前执行或 表单提交之后?
例如,如果我编辑其中一个输入的值,新值是否会包含在请求中?
答案 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 - 我只是懒惰。)