0

document.getElementsByName('name').value戻りますundefined。なぜそうなのかについて、私は最も漠然とした考えを持っていません。

.js ファイルを正しくインクルードしました。Firebug はコード内にエラーを検出しませんでした。また、上記の関数を呼び出すたびにundefined. これは私を完全に混乱させました。

ファイルを含めた方法は次のとおりです。

    <script type="text/javascript" src="new.js"></script>

以下は、関数呼び出しによって返される最初の未定義値に到達するために必要なすべてのコードです。

    function myfunction() {
        var myvar = document.getElementsByName('myElement').value;

...そして、その時点で未定義の変数を取得します。スクリプトをトリガーするために使用するボタンは、次のコードを使用します。

    <button type="button" onclick="myfunction()">MyButton</button>
  1. ボタンの種類は、スクリプトで利用できる情報に影響しますか?
  2. document.getElementsByName()を返す理由を調べるにはどうすればよいundefinedですか?
  3. Javascriptdocumentオブジェクトには、別のファイルからインポートされたスクリプトに関するスコープの問題がありますか?

これがばかげた質問である場合は申し訳ありません。私はJavascriptが初めてです。

編集: マイク サミュエル、ご回答ありがとうございます。それは魔法のようにそれを修正しました、そしてなぜ私はこれを以前に知らなかったのだろうか? getElementsByName() が複数の値が返されることをどのように示唆しているかを見て、私は少し推測する必要がありました...

4

2 に答える 2

6

getElementsByName要素ではなく、要素を含む配列のようなオブジェクトを返します。[0]前に貼り付け.valueます。

var myvar = document.getElementsByName('myElement')[0].value;
于 2011-10-10T02:07:17.623 に答える
0

Javascript には、このような状況で適用される 3 つの異なる機能があります。

 ___________________________________________________________________________________
|getElementById()       | Accesses the first element with the specified id.          |
|                       | Returns a single element, as ID's are unique in a document |
|_______________________|____________________________________________________________|
|getElementsByName()    | Accesses all elements with a specified name.               |
|                       | Returns an array of all elements marked with this name.    |
|                       | Used like a CSS class(not unique).                         |
|_______________________|____________________________________________________________|
|getElementsByTagName() | Accesses all elements with a specified tagname.            |
|                       | Returns an array of all elements with a given tag.         |
|_______________________|____________________________________________________________|

特定の単一要素が必要な場合は ID を使用し、任意のグループの名前 (インデックス付きの配列としてアクセス) を使用し、同じタイプの要素がすべて必要な場合はタグを使用します (これもインデックス付き配列による)。頑張ってコーディングしてください ;-}

于 2011-10-10T02:50:07.417 に答える