4

我正在尝试使用 Prototype 更新隐藏表单字段的值。表单域:

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

我正在尝试使用原型更新值:

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

该元素似乎已更新,如果我使用网络检查器查询它,则该值已更新。但是,如果我查看隐藏字段,它仍然看起来像这样:

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

...一个空值字段。此外,像这样提交它会在表中输入一个空列。不包括我的整个 JS 文件(450 行),谁能给我一个解决这个问题的指针?

谢谢!

4

2 回答 2

2

您在字段名称中输入了拼写错误(itemid 而不是 item_id)。原型中的$$函数返回一个元素数组。您必须获取数组的第一个元素才能更改其值:

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 回答