0

私は次のコードを使用するjavascriptでテキストをチャンスにしたい:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Test</title>
<script type="text/javascript">
var Neu = document.getElementById("thema")[0].value;
function Aendern () {
  document.all.meinAbsatz.innerHTML = Neu;
}
</script>
</head><body>
<p id="meinAbsatz">Text</p>
<input id="thema" type="text" value="Test Theme" />
<a href="javascript:Aendern()">chance theme</a>
</body>
</html>

「チャンステーマ」をクリックすると、「テキスト」のチャンスが「未定義」になります

4

2 に答える 2

4

メソッドgetElementById()は、要素のセットではなく、単一の要素を返します。そのため、申請[0]する必要はありません。また、Neu初期化をAendern()関数内に配置する必要があります。

function Aendern() {
    var Neu = document.getElementById("thema").value;
    document.all.meinAbsatz.innerHTML = Neu;
}

デモ: http://jsfiddle.net/RqgMb/

于 2013-03-13T08:10:45.850 に答える
0

http://jsfiddle.net/FJr2t/

上記のリンクで、コードを機能させました。あなたの2つの主要な問題は次のとおりです。

var Neu = document.getElementById("thema")[0].value;

まず、getElementById('thema')アイテムを 1 つだけ返すので、[0]. 第二に、頭の中の JavaScript コードは、ロード時に 1 回実行されます。したがって、この行は最初に一度実行され、入力要素の値を読み取ります。したがって、これも Aendern メソッドに移動する必要があります。

PS: この場合、window.onload などにコードを入れる必要はありませんが、必ず確認して実行する必要があります。

于 2013-03-13T08:16:41.027 に答える