document.getElementById为null

时间:2012-02-16 07:45:50

标签: javascript jquery dom getelementbyid

我在IE中使用以下JavaScript,但在Chrome和Firefox上没有。 这是代码:

<script type="text/javascript">
jQuery(document).ready(function() {

jQuery('#applicationSelect').change(function() {
document.getElementById('dropdown').value = "APPLICATION";
});

});
</script>

<input type="hidden" name="dropdown" value="" />

当我查看Firebug时,代码出错了:

document.getElementById("dropdown") is null
document.getElementById('dropdown').value = "APPLICATION";

我需要你的建议。提前谢谢。

2 个答案:

答案 0 :(得分:5)

如果您已经使用jQuery,为什么不使用它来设置输入值:

$('#dropdown').val('APPLICATION');

正如其他人所说,您的输入id不是'下拉'。

另请注意,在大多数用例中,可以使用$代替jQuery

答案 1 :(得分:3)

问题是您的input元素没有id!将name更改为id,或添加id

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

或者,如果您不想添加id,可以使用getElementsByNamedoesn't work very well跨浏览器),或者您可以使用jQuery属性选择器:< / p>

$("input[name='dropdown']").val("APPLICATION");

<强>更新

我刚注意到你在问题中说它在IE中工作。这意味着您必须使用相当旧版本的IE,因为IE7及以下版本中的getElementById错误地选择了name以及id的元素。