【发布时间】:2013-02-05 22:06:24
【问题描述】:
我有一个表单,我需要在提交之前运行一些验证操作。这些操作涉及异步步骤,例如 ajax 调用。
如何让表单等到所有验证操作完成后再提交?
我的验证函数如下所示(伪代码):
function preSubmit() {
// validate field 1
ajax({
...
onSuccess:...
});
// validate field 2
ajax({
...
onSuccess:...
});
// fields 3, 4, etc.
}
我当前的问题是表单在 onSuccess 回调完成之前被提交。
我当然可以使我的 ajax 调用同步,但由于性能影响,我试图避免它。
【问题讨论】:
-
你在使用 jQuery 吗?如果是这样,请查看
$.when -
为什么不直接提交表单,让服务器告诉你它是否有效?
-
@Kolink 节省一趟服务器。在我的情况下,一些验证使用外部服务(例如地址)。
标签: javascript forms validation submit