如何通过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>
答案 0 :(得分:0)
document.getElementById("myFrame").src = "http://www.google.com/"
为什么这可能不起作用有几个原因。最可能的是,JS“同源”政策受到了侵犯。尝试将src设置为"getusers/"
之类的相对网址,并注意控制台错误。
请尝试自行调用OnButton2()
,看看是否可以缩小问题范围。
此外,这听起来很像你试图在不重新加载页面的情况下将数据加载到DOM中。您是否尝试过使用AJAX?一旦你掌握它的使用它就会非常简单和强大,并且允许你提交一个表格并以你想要的任何格式显示结果,而不使用iframe或重新加载页面。