gpt4 book ai didi

javascript - 无法将 getElementByID 对象传递给 Chrome 上的外部 JS 文件

转载 作者:行者123 更新时间:2023-11-30 06:02:06 25 4
gpt4 key购买 nike

我创建了一个简单的 JS 文件,名为 formValueOperator.js,其中包含以下函数:

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 移动整个 setValue 函数并将其粘贴到HTML 页面。令人惊讶的是,它奏效了。

Chrome 将 getElementByID 对象传递给外部 JS 文件的方式肯定有问题。

谁能帮我解决这个问题?

最佳答案

以这种方式尝试,将方法执行延迟到网页已加载:

<FORM name="myform" method="post">
<input type="text" size=20 id="order_id" name="order_id" />
</FORM>

<script type="text/javascript">
window.onload = function() {
setInitValue();
};
</script>

关于javascript - 无法将 getElementByID 对象传递给 Chrome 上的外部 JS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7723750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com