Классический жерех Объекты не показаны

0

У меня странная проблема. У меня есть сайт, построенный с классическим asp. Он работал отлично в течение многих лет, но теперь по некоторым причинам некоторые из моих htc не отображаются, когда страница загружается. Затем, когда я пытаюсь получить доступ к этим объектам следующим образом: document.All(objName).value, я получаю: Object не поддерживает это свойство или метод.

Есть идеи?

Благодарю.

  • 0
    Попробуйте document.All.objName.value если objName является фактическим идентификатором элемента (не переменной), или document.getElementById(objName) если это переменная с идентификатором элемента.
  • 0
    Какой браузер вы используете?
Показать ещё 1 комментарий
Теги:
asp-classic
vbscript

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;

(предполагая, что у вас есть только один элемент с этим именем)

0

Это было решено? Если эта проблема была особенно сгенерирована в браузере IE, вы можете сделать ее совместимой версией, добавив следующую строку кода ASP?

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню