如何在html中使用javascript动态替换隐藏值

时间:2010-06-23 06:22:58

标签: javascript html

<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。

如何做到这一点。

请咨询。提前致谢

3 个答案:

答案 0 :(得分:2)

一些评论:

  1. onchange事件应绑定到select元素,不绑定到option
  2. 为您的表单命名,这将使程序化访问更容易,例如document.forms['formName']
  3. 例如:

    <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中,您可以按名称引用表单元素。