Formulário JavaScript Submit () Conclusão
-
18-09-2019 - |
Pergunta
Existe uma maneira de chamar a função JavaScript Submit () ou a função jQuery $ .submit () e verifique se ela conclui o processo de envio? Especificamente, dentro de um formulário, estou tentando enviar um formulário dentro de um iframe. No formulário pai, estou enviando o iframe com o seguinte código ...
document.frames.IFRAME_Items.document.forms[0].submit();
O formulário pai salva e fecha. No entanto, atualmente o iframe não está concluindo a postagem antes que o formulário pai salva e feche. Existe alguma maneira de usar um retorno de chamada de jQuery ou algo em JavaScript para garantir que esse processo de envio seja concluído antes que o formulário pai -pai seja fechado?
Solução
<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;
}
Outras dicas
O melhor que você pode fazer é enviar a forma do iframe de forma assíncrona com a ajuda de plug -in de formulário jQuery. Dessa forma, você pode esperar até que a resposta seja retornada. Também fornece um success
Manipulador de retorno de chamada que você pode usar para enviar o formulário da página pai.