1

私はこのような単純なフォームを持っています:

<form method="post" id="login">

Username: <input type="text" value="" name="usr" />
Password: <input type="password" value="" name="pw"/>
<input type="submit" id="log" name="log" value="Login" style="width:250px;"/><br/>

</form>

しかし、私は次の行で私のjavascriptのプロパティを読み取ることができません:

var usr = login.usr.value;
var pw = login.pw.value;

このエラーが発生する理由は何ですか?

4

5 に答える 5

1

フォームに名前を付けて、次のようにコードを変更してみてください。

<form method="post" id="login" name="login">

Username: <input type="text" value="" name="usr" />
Password: <input type="password" value="" name="pw"/>
<input type="submit" id="log" name="log" value="Login" style="width:250px;"/><br/>

</form>

とあなたのJavaScriptで:

var usr = document.login.usr.value;

こちら(jsfiddleリンク)で確認できます。

于 2013-01-29T21:01:40.630 に答える
0

<input type="text" value="" name="usr" />魔法のように変数になることはありません。DOMにlogin.usr基づいて値を定義する必要があります。

var usr = document.login.usr.value;
于 2013-01-29T20:59:40.633 に答える
0

使用してみてくださいgetElementsByName

このgetElementsByName()メソッドは、指定された名前のすべての要素にアクセスします。

var usr = document.getElementsByName('usr')[0].value;
var pw = document.getElementsByName('pw')[0].value;

http://jsfiddle.net/L3RvL/

于 2013-01-29T21:02:10.783 に答える
0

方法1:

<form method="post" id="login">
  Username: <input type="text" value="" name="usr" />

var form = document.getElementById("login"); //DOM access
var usr = form.elements["usr"]; // Forms access

方法2-無効なxhtml:

<form method="post" name="login">
  Username: <input type="text" value="" name="usr" />

var form = document.login; // Forms access
var usr = form.elements["usr"]; // Forms access

方法3:

<form method="post">
  Username: <input type="text" value="" name="usr" />

var usr = document.getElementsByName("usr")[0]; // first field on page named this

方法4:-IDは一意である必要があるため、最近は推奨されます-同じ検証が必要なページにusrを含むフォームが多い場合は、あまり役に立ちません

<form method="post">
  Username: <input type="text" value="" id="usr" name="usr" />

var usr = document.getElementById("usr");
于 2013-01-29T21:13:56.100 に答える
0

すべてのブラウザで動作します:

   document.forms["login"].elements["usr"].value;
   document.forms["login"].elements["pw"].value;
于 2013-01-29T21:18:18.940 に答える