使用window.location的问题

时间:2011-04-11 05:42:36

标签: javascript window.location

我有一个html页面:

<html>
<head>
<script type="text/javascript">
function myfunct()
{
window.location='test.html';
document.getElementById("message")="hello";
}
</script>
</head>
<body>
<input type="button" value="click" onclick="myfunct()"/>
</body>
</html>

的test.html:

<html><head></head>
<body>
<div id="message">Some text</div>
</body>
</html>

问题是window.location工作正常,但div没有更新为“你好”。

4 个答案:

答案 0 :(得分:2)

您不能将字符串分配给元素,您必须使用innerHTML属性。此外,由于元素位于您打开的页面中,因此您必须在该页面中包含代码。

的test.html:

<html>
<head>
<script type="text/javascript">

window.onload = function() {
  document.getElementById("message").innerHTML = "hello";
}

</script>

</head>
<body>
<div id="message">Some text</div>
</body>
</html>

如果您想从第一页开始发送消息,您必须将其作为数据发送到新页面,以便它可以显示它:

在第一页:

window.location.href = 'test.html?hello';

在test.html中:

window.onload = function() {
  document.getElementById("message").innerHTML = window.location.search.substr(1);
}

答案 1 :(得分:1)

您尝试设置为“Hello World”的元素在您正在运行的页面上不存在。您只能访问当前页面上的元素。页面刷新发生时,它会从请求的页面重新创建HTML DOM。您无法直接访问其他页面DOM。

答案 2 :(得分:1)

你必须写

功能myfunct() { 的document.getElementById( “消息”)= “你好”; }

在test.html页面中...

并在页面加载test.html的事件

上调用此函数

答案 3 :(得分:1)

你必须写在test.htm

document.getElementById("message")="hello";

不在您的HTML中