我创建了一个简单的JS文件,名为formValueOperator.js,包含此功能:不能通过对象的getElementById外部JS文件在Chrome
function setValue(type, obj, value){
if(type == 'text')
{
obj.value = value;
}
,并在调用这个函数的另一个HTML页面:
<HTML>
<HEAD>
<title>Simple Test</title>
<script type="text/javascript" src="formValueOperator.js"></script>
<script type="text/javascript">
function setInitValue(){
var element_order_id = document.getElementById("order_id");
setValue('text', element_order_id, 'aaa');
}
</script>
</HEAD>
<BODY>
<FORM name="myform" method="post">
<input type="text" size=20 id="order_id" name="order_id">
</FORM>
<script type="text/javascript">
setInitValue();
</script>
</BODY>
</HTML>
这是一个相当简单的操作:
运行HTML - >通话功能setInitValue() - >把 'AAA' 的文本框中。
一切工作完美的FireFox(7.0.1)。但是,当我试图在Chrome(14.0.835.202)上运行此功能时,它完全无法工作。
然后,我通过从formValueOperator.js和在HTML页粘贴其移动整个的setValue功能测试的代码。令人惊讶的是,它的工作。
Chrome浏览器如何将getElementByID对象传递给外部JS文件一定有些蹊跷。
任何人都可以帮助我在这一个?
感谢您快速响应。 但是,经过测试,它仍然没有在Chrome上工作(但在FireFox上工作)。 – user989096
在你的原始问题中,当你说“它不工作”时,你究竟是什么意思?你会得到什么错误? –
没有显示错误,只是一个空白的文本框。 但是当我在FireFox上运行这个页面时,它在文本框中显示'aaa'。 – user989096