Domanda

C'è un modo per chiamare la forma javascript presentare function () la funzione o il JQuery $ .submit () e assicurarsi che si completa il processo di presentare? In particolare, all'interno di una forma, sto cercando di inviare un modulo all'interno di un iframe. Dal form padre, Sto presentando l'IFrame con il seguente codice ...

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

Il form padre salva e chiude poi. Tuttavia, attualmente l'IFrame non sta completando la post prima il form padre salva e si chiude. C'è un modo utilizzando una richiamata JQuery o qualcosa in JavaScript per assicurare che questo processo viene completato presentare prima che il form padre chiude?

È stato utile?

Soluzione

<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;

}

Altri suggerimenti

Best che cosa si può fare è quello di presentare il modulo del iframe in modo asincrono con l'aiuto di jQuery Modulo plug . In questo modo si può aspettare fino a quando viene restituita la risposta. Fornisce inoltre un gestore di callback success che è possibile utilizzare per presentare il modulo della pagina padre.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top