2

どうして次のことが面倒なのか気になります。簡単に見えますが、何が起こっているのかわかりません。

だから私は入力ボックスを持っていて、次を実行するたびにユーザーに入力してもらいたい

身元不明になり、理由がわかりません。

<input type="numbers" name="price" class="sell" placeholder="$0.00">

次のJavaScriptを使用しています

var price = document.getElementsByName("price")
    alert(price.value);
4

2 に答える 2

4
var price = document.getElementsByName( "price")[0];
    alert(price.value);

document.getElementsByNameは、戻り型としてHTMLCollection(配列の一種)を提供します。これは、dom内の多くの要素が同じ名前を共有している可能性があるためです。したがって、同じ名前のチェックボックスが多数ある場合は、各チェックボックスを配列インデックスで参照できます。

于 2012-07-18T10:16:02.857 に答える
4

いくつかの問題があります。

問題の原因は、単一の要素ではなく、HTMLCollectiongetElementsByName (配列のようなもの)を返すことです。プロパティにアクセスする前に、最初のアイテムをプルする必要があります。

var price = document.getElementsByName("price")[0];

第二に、numbersそれは入力のタイプではありません。number(単数)です。

第三に、例を挙げれば、記号$0.00で始まる値を入力することを期待していることを人々に知らせています。番号にサインインする$ことはできません。$

于 2012-07-18T10:16:46.570 に答える