Question

Est-il possible d'appeler la fonction javascript forme submit () ou la fonction .submit () JQuery $ et assurez-vous qu'il complète le processus de soumission? Plus précisément, dans une forme, je suis en train de soumettre un formulaire dans un iFrame. De la forme mère, je présente le IFrame avec le code suivant ...

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

La forme mère enregistre ensuite et se ferme. Cependant, actuellement le IFrame ne termine pas le poste avant que le formulaire parent sauve et ferme. Est-il possible en utilisant un rappel JQuery ou quelque chose en JavaScript pour assurer que ce processus se termine avant de soumettre le formulaire parent ferme?

Était-ce utile?

La solution

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

}

Autres conseils

mieux ce que vous pouvez faire est de soumettre le formulaire de l'iframe avec l'aide de manière asynchrone jQuery plug-in Form . De cette façon, vous pouvez attendre jusqu'à ce que la réponse est renvoyée. Il fournit également un gestionnaire de rappel success que vous pouvez utiliser pour soumettre le formulaire de la page parent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top