<form method="post" name="test" id="test">
<input type="hidden" name="listname" value="qpaustin" />
<select name="customCity" id="customCity" onchange="javascript:onChangeHiddenValue(this.value);">
<option value="qpneworleans" >qpneworleans</option>
<option selected="selected" id="listSelectionActiveOption" value="qpnewyork" >qpnewyork</option>
<option value="qporangecounty">qporangecounty</option>
<option value="qporlando">qporlando</option>
</select>
</form>
<script type="text/javascript">
function onChangeHiddenValue(cityName)
{
alert(document.getElementById('customCity').value);
}
</script>
我需要使用javascript动态更改隐藏值“listname”。
例如,目前listname的值是qpaustin。但是当我将值更改为qpneworleans时,“listname”值应该替换为qpneworleans。
如何做到这一点。
请咨询。提前致谢
答案 0 :(得分:2)
一些评论:
onchange
事件应绑定到select
元素,不绑定到option
。document.forms['formName']
例如:
<form method="post" name="form1">
<input type="hidden" name="listname" value="qpaustin" />
<select name="customCity" onchange="onChangeHiddenValue(this.value);">
<option value="qpneworleans">qpneworleans</option>
<option selected="selected" value="qpnewyork">qpnewyork</option>
<option value="qporangecounty">qporangecounty</option>
<option value="qporlando" >qporlando</option>
</select>
</form>
<script type="text/javascript">
function onChangeHiddenValue(cityName) {
// DOM2 standard way to access forms and elements
document.forms['form1'].elements['listname'].value = cityName;
}
</script>
检查上面的示例here。
答案 1 :(得分:1)
如果你可以给隐藏元素一个id,那就更好了。像
这样的东西<input type="hidden" id="listname" name="listname" value="qpaustin" />
并且您要为该元素指定值的javascript将是
document.getElementById("listname").value = cityName;
答案 2 :(得分:1)
除了Rahul提供的解决方案之外,您还可以尝试以下方法。
document.test.listname.value = cityName;
在Javascript中,您可以按名称引用表单元素。