如果我在菜单中更改选项,下面的代码应该在ParentSelect中给我1,但我得到的是0.有谁能告诉我这是什么错误?
<input type="hidden" name="ParentSelect" value="0" />
<select class="style" onchange="document.forms[0].elements['ParentSelect']=1" >
<option value="NULL">NULL</option>
...
</select>
这里,我在数据库中有两个表。它们包含一些字段,如ServerName等。
建议?
答案 0 :(得分:4)
您直接将值1
分配给属性document.forms[0].elements['ParentSelect']
,而您可能意味着更改元素的值,这将实现如下:
document.forms[0].elements['ParentSelect'].value = 1
我同意其他一些关于缺乏有效HTML结构的评论,我想补充一点,如果您要通过document.forms[0]
引用该字段,您也可以给该字段一个id属性,以便您可以简单地使用'document.getElementById`,这样无论页面上的其他表单如何,您的代码都可以正常工作。无论如何,使用您的方法,这里是完整的代码:
<form>
<input type="hidden" name="ParentSelect" value="0" />
<select class="style" onchange="document.forms[0].elements['ParentSelect'].value=1" >
<option value="1">Value 1</option>
<option value="2">Value 2</option>
</select>
</form>
改为使用id:
<form>
<input id="parentSelect" type="hidden" name="ParentSelect" value="0" />
<select class="style" onchange="var e = document.getElementById('parentSelect'); if (e) e.value=1;" >
<option value="1">Value 1</option>
<option value="2">Value 2</option>
</select>
</form>
答案 1 :(得分:3)
document.forms[0].elements['ParentSelect']
返回整个输入,如果你想设置它的值使用
document.forms[0].elements['ParentSelect'].value = 1