2
<textarea name="widget-generalcode" cols="50" rows="13" id="widget-generalcode"></textarea>

とジャバスクリプト

<script>
document.getElementById('widget-generalcode').innnerHTML = 'test';
</script>

コードを実行すると、エラーが発生TypeError: document.getElementById(...) is nullします。修正方法を教えてください。

4

7 に答える 7

3

あなたはそれをpageloadに置くべきかもしれません:

<script type="text/javascript">
    window.onload = function(){
        document.getElementById('widget-generalcode').innerHTML = 'test';
    };
</script>
于 2012-12-26T10:14:42.473 に答える
2

JavaScript ステートメントを配置する場所を検討する必要があります。それは望ましい結果に影響します。Firefox の Firebug などの Web 開発ツールを使用することをお勧めします (F12 キーを押します)。JavaScript コードをデバッグするのに役立ち、タイムライン機能を使用して、Html/javascript のどの部分が多くのリソースを「消費」したかを検出できます。この情報がお役に立てば幸いです。

于 2012-12-26T10:11:41.407 に答える
1

まず、DOM のロード時に JavaScript が実行されることを確認します。1 つのオプションは、<script>タグを の直前に置くこと</body>です。

次に、valueフォーム フィールドにプロパティを使用する必要があります。

document.getElementById("widget-generalcode").value = "test";
于 2012-12-26T10:05:03.870 に答える
0

ページにレンダリングされる前に要素にアクセスしようとしているため、その要素を取得できないため、以下のように関数でコードを記述します

<script>
  function call()
  {
    document.getElementById('widget-generalcode').value = 'test';
  } 
</script>

そして今、body tag palce onload ="call()" で、以下に示すように動作します

<body onload ="call()" >

</body>
于 2012-12-26T10:14:02.070 に答える
0

これは私に多くの悲しみを引き起こしました。「onLoad」の実行シーケンス (すべての PHP が実行されて HTML に変換された後に発生する) と、url パラメーターを解析した後の js コマンドの実行 (onLoad の前に発生する) を理解することが重要です。

于 2014-10-17T13:10:13.363 に答える