有没有办法调用javascript表单submit()函数或JQuery $ .submit()函数并确保它完成提交过程?具体来说,在表单中,我试图在IFrame中提交表单。在父表单中,我使用以下代码提交IFrame ...
document.frames.IFRAME_Items.document.forms[0].submit();
父表单然后保存并关闭。但是,目前IFrame未在父表单保存和关闭之前完成帖子。是否有任何方法使用JQuery回调或JavaScript中的某些东西来确保在父表单关闭之前完成此提交过程?
答案 0 :(得分:1)
您可以做的最好的事情是在jQuery Form plugin的帮助下异步提交iframe的表单。这样您就可以等到返回响应。它还提供了一个success
回调处理程序,您可以使用它来提交父页面的表单。
答案 1 :(得分:1)
<form onsubmit="return controlParentForm();" id="parentForm">
...
</form>
JS:
var controlSubmitParentForm = 0;
function controlParentForm(){
var ret = false;
if (controlSubmitParentForm==0){
controlSubmitParentForm = 1;
document.frames.IFRAME_Items.document.forms[0].submit();
setTimeout(controlParentForm, 200);
}
else if (controlSubmitParentForm==1){
if (document.frames.IFRAME_Items.document.readyState=="complete"){
controlSubmitParentForm = 2;
document.getElementById("parentForm").submit();
}
setTimeout(controlParentForm, 200);
}
else if (controlSubmitParentForm==2){
// controls for "parentForm"
ret = true;
controlSubmitParentForm = 0;
}
return ret;
}