1

みなさん、こんにちは。(おそらく)単純な質問がありますが、かなり徹底的に検索した後、答えが見つからないようです。Chromeで発生するエラーは、「Uncaught TypeError:Cannot readproperty'value'ofnull」です。120行目(以下にコピー):

mercedes_txt = mercedes_txt + "<tr><td><button id=\"Mercedes Add Value\"
    onclick=\"addAttribute('Merceds-Benz', " + mercedes_counter + ", '" +
    document.getElementById('Mercedes-Benz Text').value + "')\">Add</button></td><td>
    <input type=\"text\" name=\"Mercedes-Benz Text\" id=\"Mercedes-Benz Text\" />
    </td></tr></table>";

読みやすくするために、コードを複数行に分割しようとしました。「onclick」を削除すると、コードは正しく実行されます。また、交換すれば

'" + document.getElementById ('Mercedes-Benz Text').value + "'

'someValue'を使用すると、コードは正しく実行されます。したがって、問題は、動的に作成されたオブジェクトから値を要求していることである必要があります(まだ存在していませんが、コードがinnerHTML呼び出しで適用されると)。初心者の方は申し訳ありませんが、皆様のご協力に感謝いたします。

4

1 に答える 1

2

次の 2 つのエラーが表示されます。

  1. 要素に無効な ID を使用しようとしています。HTML の id 属性の有効な値は何ですか? を参照してください。id の命名規則について。

  2. まだ DOM に追加していない要素の値を取得しようとしています。

そのインラインonclickハンドラーを取り除き、コードで追加することをお勧めします。このようなもの:

var addValueButton = document.getElementById('MercedesAddValue');
addValueButton.addEventListener('click', function(e) {
   // get live form values here by traversing the DOM
   // you may want to use jQuery...
});
于 2013-03-05T19:33:01.380 に答える