web-dev-qa-db-ja.com

エレメント値が変更されないのはなぜですか?間違った機能を使用していますか?

私はasp.net mvcアプリケーションを持っており、テキストボックスに動的に値を割り当てようとしていますが、機能していないようです(IE今のところテストしています)。今あります。

document.getElementsByName('Tue').Value = tue;(ちなみにtueは変数です)

私もこのバリエーションを試しましたが、うまくいきませんでした。

document.getElementsById('Tue').Value = tue;(ちなみにtueは変数です)

どこで私がこれで間違っているのか教えてください。

22
devforall

document.getElementById であり、document.getElementsByIDではありません

私はあなたが<input id="Tue" ...>マークアップのどこかに。

18
Paul Dixon

テキストボックスのアドレス指定方法は、HTMLコードによって異なります。

<!-- 1 --><input type="textbox" id="Tue" />
<!-- 2 --><input type="textbox" name="Tue" />

「id」属性を使用する場合:

var textbox = document.getElementById('Tue');

「名前」の場合:

var textbox = document.getElementsByName('Tue')[0]

(getElementsByName()は、配列として名前を持つall要素を返すため、最初の要素にアクセスするには[0]を使用します)

次に、「value」属性を使用します。

textbox.value = 'Foobar';
23
Ferdinand Beyer

Chromeを使用している場合は、コンソールでデバッグします。画面にコンソールを表示するには、Shift + Ctrl + jキーを押します。

私を信じてください、それは大いに役立ちます。

5
KnightScott

コードには2つの問題があります。

  1. getElement**s**ByNameの代わりにgetElementByNameを使用します
  2. valueの代わりに小文字のValueを使用します。
5
Kalai

テキストボックスの名前とIDが両方とも「火」に設定されていると仮定する必要があるようです。その場合は、.valueに小文字のVを使用してみてください。

4
Jeff Handley

getElementsByName()の複数形が暗示するように、常にこの名前を持つ要素のリストを返します。したがって、その名前の入力要素がある場合:

_<input type="text" name="Tue">
_

そして、それはその名前を持つ最初のものです。この名前を持つ要素のリストの最初の要素を取得するには、document.getElementsByName('Tue')[0]を使用する必要があります。

プロパティの大文字と小文字が区別され、valueプロパティの正しいスペルは_.value_です。

4
Gumbo

使用できます

formname.textboxname.value="delete";
4
ChintanThummar