enviar formulário, recarregar pai e fechar filho
Eu tenho um problema com um problema cross-IE, não necessariamente um cross-browser.
Eu estou tentando abrir uma janela filho, onde um usuário enviaria um formulário. No envio, um script PHP deve ser chamado para carregar os dados do formulário filho. O filho deve então recarregar a janela pai contendo parte do conteúdo que foi adicionado no formulário filho, e também fechar o formulário filho ...
Os usuários não terão nenhum outro navegador em uso além do IE, mas versões diferentes (eu preferiria torná-lo totalmente compatível, mas resolverei com diferentes IEs). Eu não tive nenhum problema com isso no IE10, mas não consigo fazê-lo funcionar no IE8. Há usuários que devem usar o IE8 (eles estão presos no XP devido a outro software que não será executado em 7 ou 8).
Eu tentei isso:
<form name="parts" id="parts" action="tableaddrow_nw.php" method="get" onsubmit="window.opener.document.location.href='q.php?q=<?php echo $q; ?>&memberid=<?php echo $memberid; ?>'; self.close();">
Eu tentei isso:
<form name="parts" id="parts" action="tableaddrow_nw.php" method="get">
<input type="button" value="Save & Close Window" class="submit" onclick="validateRow(this.form);"
onde ovalidateRow(this.form);
função é:
function validateRow(frm)
{
frm.submit();
window.opener.document.location.href='q.php?q=<?php echo $q; ?>&memberid=<?php echo $memberid; ?>';
this.window.close();
}
Eu também inverti o envio e recarregamento, que eu li na postagem, mas não funciona para mim.
O código PHP funciona bem, já que é bom na versão IE10. Basicamente, ele remove entradas anteriores, lê o array enviado e verifica se os índices são válidos e carrega os dados do array novamente.
Se eu não fechar a janela, funcionará bem em ambas as versões. Então eu acho que espero que alguém possa me ajudar ainda a fechar a janela no envio, mas talvez espere o tempo suficiente para verificar se o envio foi bem-sucedido.
Agradecemos antecipadamente por qualquer ajuda.