0

フォームを投稿し、javascript を使用して応答の html コードを変数に保存したいと考えています。
ここに私のコードがあります:

<script type="text/javascript">
function submitform()
{
  document.forms["myform"].submit();
}
</script>

<form id="myform" action="url" method="post" target="iframe">
<input type="hidden" name="arg" value="value">
<a href="javascript: submitform()">Go</a>
</form>
<iframe name="iframe"></iframe>



このコードを実行すると、応答が iframe に表示されます。ただし、場合によっては、iframe ページの読み込み後にソース コードにリダイレクトされます。そのリダイレクトを止めるために多くの場所を検索しましたが、方法が見つかりませんでした!!.
このjavascriptコードを追加することで、1つの方法を見つけました:

window.onbeforeunload = function(){
            return false;
        };

しかし、リダイレクト時にダイアログボックスが表示され、ユーザーに毎回クリックするように求めることができないため、この方法は面倒です!!
そのため、リダイレクトを行うブラウザーで応答 HTML コードを読み込まない方法を見つけることにしました。その代わりに、応答を変数に保存し、スクリプトを削除してから印刷します!!

それを行う方法はありますか?

4

3 に答える 3

1

あなたは隅々までコーディングしています。jQuery とその .ajax メソッドを使用します。iframe の代わりに、返されたマークアップを div にドロップします。

于 2012-06-09T12:25:23.353 に答える
1

jQuery の AJAX 関数を見てください。非常に柔軟で使いやすいです。または、さらに簡単に、基本的にフォーム関連のすべてを自動化するjQuery Form Pluginを試してください。あなたがしなければならないのは、フォームを指して、フォームが送信される前および/または後に何をしたいのかを伝えることだけです.

于 2012-06-09T12:36:13.187 に答える
0

フォームを使用するのではなく、javascript を使用して投稿リクエストを行うことができます。その場合、同じドメインに投稿していれば、簡単に応答を取得できます。(セキュリティ上の理由から、クロスドメインの投稿は戻り値を提供しません)。JavaScript で投稿する方法については、フォーム送信のような JavaScript 投稿リクエストを参照してください。

于 2012-06-09T12:25:11.047 に答える