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 回答