我正在尝试使用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" />
...空值字段。此外,像这样提交它会在表格中输入一个空列。如果不包含我的整个JS文件(450行),任何人都可以给我一个指针来解决这个问题吗?
谢谢!
答案 0 :(得分: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);
答案 1 :(得分:2)
通过使用原型更新字段的值。您可以使用此代码。
::std::cout << "Before: " typePrint(bounds());