我有一个奇怪的问题。我有一个用经典asp构建的网站。它运行良好多年,但由于某种原因,我的一些htc在页面加载时不会显示。然后当我尝试访问这些对象时:document.All(objName).value,我得到:Object不支持这个属性或方法。
有什么想法吗?
感谢。
答案 0 :(得分:1)
首先想提一下这与经典ASP无关,这是纯粹的客户端问题。
现在到了这一点。不应该使用臭名昭着的document.all
,期间。客户端VBScript也应该避免,因为IE只是意味着它不适用于超过50%的访问者。
总结一下:切换到JavaScript并使用标准document.getElementById
。从这样的行更改您的代码:
MyValue = document.All(objName).value
改为:
var myValue = document.getElementById(objName).value;
如果 objName 是名称而不是id,例如<input type="text" name="MyInput" />
您可以使用:
var myValue = document.getElementsByName("MyInput")[0].value;
(假设您只有一个具有该名称的元素)
答案 1 :(得分:0)
它解决了吗?如果在IE浏览器上特别生成此问题,您可以通过添加以下几行ASP代码使其成为兼容版本吗?
Response.AddHeader“X-UA-Compatible”,“IE = edge,chrome = 1”