Событие JavaScript не работает с IE7

Когда я выбираю любой параметр в списке, он должен напечатать его значение в текстовом поле (все html).

Я старался

stafflist.setAttribute("onchange", "javacript:document.getElementById('id_17_enrolpassword').value = this.value;");

Он работает в IE8+ и во всех современных браузерах, но не в IE7.

Также попробовал

stafflist.addEventListener('onchange',"javacript:document.getElementById('id_17_enrolpassword').value = this.value;",false);

Итак, какие изменения я должен сделать здесь?

4 ответа

Решение

1) javascript: label требуется только в том случае, если первый скрипт на странице vbscript.

2) это работает лучше?

document.getElementById('stafflist').onchange=function(){
  document.getElementById('id_17_enrolpassword').value = this.value;
}

?

IE только увольняет onchange событие, когда элемент теряет фокус - если вы должны были щелкнуть за пределами элемента или вкладки для другого элемента, он должен сработать.

Вы можете обойти это, используя другой четный, например, onkeypress

Сделай это так -

stafflist.onchange = function(){
   document.getElementById('id_17_enrolpassword').value= this.value;
}

Я знаю, что это на самом деле не отвечает на поставленный вопрос, но разве вы не можете использовать что-то вроде jQuery для кодирования такого рода даже обработок?

Код немного более читабелен (ИМХО), и вам не придется решать эти проблемы кросс-браузерного сценария самостоятельно.

Другие вопросы по тегам