1

iframe をデフォルトの送信のままにする方法はありますが、ユーザーを別のページにリダイレクトした後です。サーバー側でこのリダイレクトを行う必要があると聞いたことがありますが、これが何を意味するのかわかりません。

以下は私が試したものですが、デフォルトのiframe送信をキャンセルしてリダイレクトするだけです。

function convert() {
            document.location = '/sidingsuccess';
}

onSubmit="convert();"

iframeコードで

4

3 に答える 3

1

サーバーでは、送信が完了した後、header関数を使用してページを別のページ (たとえばexample.php)にリダイレクトできます。

header('Location: example.php');

それはあなたが探しているものですか?

于 2012-09-19T19:39:09.180 に答える
1

非表示の iframe にフォームを送信します。

iframe HTML:

<g:form controller="..." action="submit" method="POST" target="hidden-frame">
...
</g:form>

<iframe id="hidden-frame" style="display: none" onload="onSubmitCompleted"></iframe>

<script>
    function onSubmitCompleted() {
        window.top.location.href = <redirect url>
    }
</script>

コントローラ:

/*process submission */

render("<html><head><script>window.parent.onSubmitCompleted();</script></head><body></body></html>");
于 2012-09-19T19:46:30.470 に答える
0

次の行を置き換えます。

document.location = '/sidingsuccess';

これについて:

window.top.location.href = '/sidingsuccess';

それはそれを行う必要があります。

于 2012-09-19T19:47:07.840 に答える