JavaScript表单提交()完成
有没有办法调用javascript表单submit()函数或JQuery$.submit()函数,并确保它完成提交过程?具体来说,在表单中,我试图在IFrame中提交表单。从父窗体中,我正在提交带有以下代码的IFrameJavaScript表单提交()完成,javascript,jquery,form-submit,Javascript,Jquery,Form Submit,有没有办法调用javascript表单submit()函数或JQuery$.submit()函数,并确保它完成提交过程?具体来说,在表单中,我试图在IFrame中提交表单。从父窗体中,我正在提交带有以下代码的IFrame document.frames.IFRAME_Items.document.forms[0].submit(); 然后,父窗体保存并关闭。但是,当前在父窗体保存并关闭之前,IFrame没有完成post。是否有任何方法可以使用JQuery回调或JavaScript中的某些内容来
document.frames.IFRAME_Items.document.forms[0].submit();
然后,父窗体保存并关闭。但是,当前在父窗体保存并关闭之前,IFrame没有完成post。是否有任何方法可以使用JQuery回调或JavaScript中的某些内容来确保在父窗体关闭之前完成此提交过程?您可以做的最好的事情是在的帮助下异步提交iframe的窗体。这样,您就可以等待响应返回。它还提供了一个
success
回调处理程序,您可以使用该处理程序提交父页面的表单。如果您的
来自外部网站,您将无法执行任何操作。请参阅:@adardesign这显然不是这样,因为他可以从父级访问iframe的表单这将是理想的,但我无法使用任何一种方法(ajaxForm或ajaxSubmit)处理iframe。
<form onsubmit="return controlParentForm();" id="parentForm">
...
</form>
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;
}