アップデート:
私が犯したいくつかの間違いにより、画面を更新する実行中のスクリプトと、完了時にページをリロードする未処理の送信の両方を実行できないと誤解されました。
あなたはこれを行うことができます、そして私はそうしました。私が行った方法は、アップデーターを startTimeout に置き、送信を続行させることでした。
$('#JQF').on('submit', function(){
start();
return true;
});
...
start:
function (xhr, s) {
$(".appMainMsg").hide();
bar = document.getElementById("ProgressBar");
if (bar)
{
eta = document.getElementById("ProgressBarEta");
startTime = new Date();
infoUpdated = 0;
infoRequested = 0;
$(bar).empty().progressbar();
setTimeout(requestInfo, 2);
}
},
...
元の質問:
ファイルのアップロードを含むフォームを投稿し、非表示の iframe への応答を対象とするページがあります。iframe の読み込みが完了すると、(メイン) ページで関数が呼び出されます。すべて問題ないようであれば、iframe に読み込まれた本文の内容をメイン ページの本文に移動します。それ以外の場合はそのままにしておきます。jqueryがロードされているので、それを使用したいと思います。
<body>
<iframe name='ifr' id='ifr' style='display: none;'></iframe>
<form target='ifr' method='post' action='mypage.php'>
</form>
<script>
function finished()
{ if (iLikeIt)
{
//replace body contents with ifr.body.contents
// keeping all event handlers attached
// something like...
WHAT DO I PUT HERE?
}
}
</script>
</body>
iframe に読み込まれたページは、次で終了します。
<script>
setTimeout(parent.finished, 1000); // some time for navel gazing
</script>