我有一个奇怪的问题。我有一个用经典 asp 构建的网站。多年来一直运行良好,但现在由于某种原因,我的一些 htc 在页面加载时没有显示。然后,当我尝试像这样访问这些对象时:document.All(objName).value,我得到:对象不支持此属性或方法。
任何想法?
谢谢。
我有一个奇怪的问题。我有一个用经典 asp 构建的网站。多年来一直运行良好,但现在由于某种原因,我的一些 htc 在页面加载时没有显示。然后,当我尝试像这样访问这些对象时:document.All(objName).value,我得到:对象不支持此属性或方法。
任何想法?
谢谢。
首先要提一下,这与经典的 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;
(假设您只有一个具有该名称的元素)
解决了吗?如果这个问题是特别在IE浏览器上产生的,你可以通过添加下面这行ASP代码使其兼容版本吗?
Response.AddHeader "X-UA-Compatible", "IE=edge,chrome=1"