0

簡単なテキストボックスがあります。

<input type="text" id="username" /><br />
<input type="button" id="Submit" value="Submit" onclick="Submit()" />

関数は次のように定義されます。

function Submit() {
   var username = document.getElementById("username").value;
   alert("Welcome " + username);
}

以下のエラーが発生するのはなぜですか?

nullのプロパティ'value'を読み取れません

4

2 に答える 2

1

関数の名前を変更します。Submitおそらくブラウザで予約語です(ただし、コードはで正常に機能します)

<input type="text" id="username" /><br />
<input type="button" id="Submit" value="Submit" onclick="mySubmit()" />
function mySubmit() {
   var username = document.getElementById("username").value;
   alert("Welcome " + username);
}

それができない場合は、投稿したコードが実際にエラーの原因であることを再確認してください。

于 2013-03-03T02:50:16.500 に答える
1

Internet Explorerは、「自動グローバル」と呼ばれる非常に苛立たしいことをします。

NAME属性またはID属性を持つページ上のすべての要素は、ページ上のグローバルオブジェクトとして自動的に割り当てられます。

したがって、関数とボタンの両方が「送信」と呼ばれるため、意図せずに名前空間が衝突します。

ボタンの名前を変更してみてください(および/またはIEの新しいバージョンにこれをやめるように指示するDoctypeを追加してください!)

于 2013-03-03T03:02:28.053 に答える