gpt4 book ai didi

javascript - IE7 提示 javascript 中的标签 ID

转载 作者:行者123 更新时间:2023-11-28 11:42:44 25 4
gpt4 key购买 nike

好的,我正在开发一个简单的程序来执行 xmlhttprequests,这样我就可以了解它们是如何工作的。在该页面上有一个简单的文本框、一个标签和一个按钮。单击按钮时,它会通过 javascript 方法向另一个页面发送请求,并将响应存储在标签中。

(这是正文中的所有代码)

<form id="form1" runat="server">
<div>
<input type="text" id="text1" value="StuffInTheBox" name="text1"/>
<label id="label1">Please Enter Name.</label>
</div>
</form>
<button id="button1" onclick="checkName(text1.value,'')">BUTTON</button>

这在谷歌浏览器中完美运行。但当我在 IE7 中尝试时,却出现了错误。它说“错误:‘text1’未定义”。我一直在尝试调整一切,看看是否会有所不同,但现在我有点迷失了。

任何帮助将不胜感激

编辑:检查每个请求的名称函数

该方法调用 loadXMLDoc,它创建 xmlhttprequest 对象,为使用 ActiveX 的旧版 IE 和本地拥有 ActiveX 的现代浏览器 fork 了构造。它还创建一个方法来监视状态更改,如果成功完成,它会使用 checkName('',results) 调用 checkname

function checkName(input, response)
{
if (response != ''){
// Response mode
message = document.getElementById('label1');
message.innerHTML = response;

}else{
// Input mode
loadXMLDoc("http://localhost/xmlTest/Return.aspx","input="+input);
}
}

最佳答案

在 JavaScript“checkName(text1.value,'')”中,不清楚 text1.value 引用的是什么。您假设它引用您在 HTML 中声明的 DOM 对象,并且 FireFox 似乎也做出了该断言,但 IE 没有。 text1 很容易成为对 JavaScript 代码中先前声明的对象的引用。

var text1 = {value: ""};

坦白说,我很惊讶 FireFox 没有抛出错误。

当引用 DOM 对象(即 HTML 元素)时,您需要使用 document.getElementByIddocument.getElementsByName方法。

以下示例经过测试,可以在 FireFox 和 IE 中运行,我假设也可以在 Chrome、Safari 和 Opera 中运行。

<form id="form1" runat="server">
<div>
<input type="text" id="text1" value="StuffInTheBox" name="text1"/>
<label id="label1">Please Enter Name.</label>
</div>
</form>
<button id="button1" onclick="checkName(document.getElementById('text1').value,'')">BUTTON</button>

关于javascript - IE7 提示 javascript 中的标签 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1201618/

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