1

javascript を介した onload 呼び出しにより、既に「レンダリング」されている iframe をリロードするにはどうすればよいですか。新しいユーザーを追加できるページがあります (名前を入力した後に送信ボタンをクリックして)。このページには、使用可能なすべてのユーザーも iframe に表示されます (オンロード中、iframe はユーザーと共に「プリロード」されます)。新しいユーザーを追加して送信をクリックするたびに、iframe(list) も更新されたリストを自動的に取得する必要があります。

また、非表示のフォームで URL の「get」結果をフォーマットする方法を知りたいです。iframe にコピーされた URL は、コピー先で変更できますか?

これどうやってするの?助けてください!

これは私がこれまでに持っているものです:

    <html>
    <head><title>welcome page</title>
    </head>
    <body onLoad ="subMe()">
    <script>
    function subMe(){
            document.getElementsByTagName('form')[1].submit();
    }
    function OnButton2()
{

     document.getElementById("myframe").src ='http://localhost:8000/getusers/' ;
}
    </script>
    <div align="center">
    <h1>Home</h1>

    <form name ="Form0" action= "/cgi-bin/myuser.cgi" method ="get" target="uframe" onsubmit="return OnButton2();">
    Enter Name:<input type="text" id ="name" name="name">
    <input type="submit" value="Create new User">
    </form>
    <iframe id="uframe" name="uframe"></iframe>
    <br>
    <div style="display: hidden;">
        <form action="http://localhost:8000/getusers/" method="get" target="myframe">
        </form>
    </div>
    <iframe id="myframe" name="myframe"></iframe>
    </div>
    </body>
4

1 に答える 1

0

他の人がコメントしたように、答えは間違いなく次のとおりです。

document.getElementById("myFrame").src = "http://www.google.com/"

これが機能しない理由はいくつかあります。最も可能性が高いのは、JS の「同一オリジン」ポリシーに違反していることです。src を次のような相対 URL に設定して、"getusers/"コンソール エラーを監視してみてください。

単独で呼び出しOnButton2()てみて、問題を絞り込めるかどうかを確認してください。

さらに、ページをリロードせずに DOM にデータをロードしようとしているように思えます。AJAXを使ってみましたか? 使い方に慣れると、非常にシンプルで強力です。iframe を使用したり、ページをリロードしたりすることなく、フォームを送信して任意の形式で結果を表示できます。

于 2013-07-26T15:11:22.823 に答える