0

我有一个奇怪的问题。我有一个用经典 asp 构建的网站。多年来一直运行良好,但现在由于某种原因,我的一些 htc 在页面加载时没有显示。然后,当我尝试像这样访问这些对象时:document.All(objName).value,我得到:对象不支持此属性或方法。

任何想法?

谢谢。

4

2 回答 2

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;

(假设您只有一个具有该名称的元素)

于 2013-10-16T07:35:58.013 回答
0

解决了吗?如果这个问题是特别在IE浏览器上产生的,你可以通过添加下面这行ASP代码使其兼容版本吗?

Response.AddHeader "X-UA-Compatible", "IE=edge,chrome=1"

于 2013-12-29T11:44:42.687 回答