1

有没有办法调用 javascript 表单 submit() 函数或 JQuery $.submit() 函数并确保它完成提交过程?具体来说,在表单中,我试图在 IFrame 中提交表单。从父表单中,我使用以下代码提交 IFrame...

document.frames.IFRAME_Items.document.forms[0].submit();

然后父窗体保存并关闭。但是,目前 IFrame 在父表单保存和关闭之前没有完成帖子。有没有办法使用 JQuery 回调或 JavaScript 中的某些东西来确保此提交过程在父表单关闭之前完成?

4

2 回答 2

1

最好的办法是借助jQuery Form plugin异步提交 iframe 的表单。这样您就可以等到响应返回。它还提供了一个success回调处理程序,您可以使用它来提交父页面的表单。

于 2010-01-04T22:06:22.747 回答
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;

}
于 2010-01-05T00:31:23.267 回答