点击另一个表单的提交按钮后,在iframe中刷新网址并在iframe中格式化网址内容

时间:2013-07-26 13:24:28

标签: javascript html html-form

如何通过javascript重新加载已经“渲染”到因为onload调用的iframe。 我有一个页面,我可以添加新用户(通过输入名称后单击提交按钮)。 该页面还会显示iframe中的所有可用用户(在onload期间,iframe与用户“预加载”)。每次我添加新用户并单击提交时,iframe(列表)也应自动获取更新列表。

另外,我想知道如何在隐藏表单中格式化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>

1 个答案:

答案 0 :(得分:0)

答案肯定是其他人评论的答案:

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

为什么这可能不起作用有几个原因。最可能的是,JS“同源”政策受到了侵犯。尝试将src设置为"getusers/"之类的相对网址,并注意控制台错误。

请尝试自行调用OnButton2(),看看是否可以缩小问题范围。

此外,这听起来很像你试图在不重新加载页面的情况下将数据加载到DOM中。您是否尝试过使用AJAX?一旦你掌握它的使用它就会非常简单和强大,并且允许你提交一个表格并以你想要的任何格式显示结果,而不使用iframe或重新加载页面。