4

Prototype を使用して非表示のフォーム フィールドの値を更新しようとしています。フォーム フィールド:

<input id="item_id" name="item_id" value="" type="hidden" />

プロトタイプを使用して値を更新しようとしています:

var additionalVal = ',2';
var itemId = $$('name=["itemid"]');
itemId.value = (itemId.value + ',' + additionalVal);

要素が更新されているように見え、Web インスペクターを使用してクエリを実行すると、値が更新されています。ただし、隠しフィールドを見ると、次のように見えます。

<input id="item_id" name="item_id" value="" type="hidden" />

... 空の値フィールド。また、このように送信すると、テーブルに null 列が入力されます。私のJSファイル全体(450行)を含めずに、これを解決するためのポインタを誰かに教えてもらえますか?

ありがとうございました!

4

2 に答える 2

2

フィールドの名前をタイプミスしました (item_id ではなく itemid)。プロトタイプの$$関数は要素の配列を返します。値を変更するには、配列の最初の要素を取得する必要があります。

var additionalVal = ',2';
var itemId = $$('name=["item_id"]');
itemId[0].value = (itemId[0].value + ',' + additionalVal);

要素を取得することもできるidので、最初のアイテムを取得する必要はありません:

var additionalVal = ',2';
var itemId = $('item_id');
itemId.value = (itemId.value + ',' + additionalVal);
于 2013-06-19T16:32:55.243 に答える
2

プロトタイプを使用してフィールドの値を更新する。このコードを使用できます。

$('Id of the element').setValue('value')
于 2015-11-24T06:16:29.113 に答える