0

私は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 が「hello」に更新されていないことです。

4

4 に答える 4

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);
}
于 2011-04-11T05:50:36.827 に答える
1

「Hello World」に設定しようとしている要素は、機能しているページに存在しません。現在のページの要素にのみアクセスできます。ページの更新が発生すると、要求されたページから HTML DOM が再作成されます。別のページの DOM に直接アクセスすることはできません。

于 2011-04-11T05:44:21.840 に答える
1

あなたは書く必要があります

関数 myfunct() { document.getElementById("メッセージ")="こんにちは"; }

test.html ページで...

そして、test.htmlのページLoa​​dイベントでこの関数を呼び出します

于 2011-04-11T05:46:54.473 に答える
1

test.htm に書く必要があります

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

あなたのhtmlにありません

于 2011-04-11T05:50:26.423 に答える