Скрипт выполняется только в Опере
Добрый день!
Для ajax использую JsHttpRequest, все скрипты подключаются в HEAD. <head> ... <script src="/JHR/JsHttpRequest.js"></script> <script src="/js/jscript.js" type="text/javascript"></script> ... </head> В jscript.js есть функция: function tabload() { JsHttpRequest.query( '../ajax/tabback.php', { 'table': document.getElementById("table").value }, function(result, errors) { if(result["tabj"]) { document.getElementById("tab").style.display=''; document.getElementById("tab").innerHTML = result["tabj"]; } else { document.getElementById("tab").style.display='none'; } }, false ); } , которая вызывается следующим образом: <select id="table" name="list" onchange="tabload(this.value);" class="addtab"> <option value="no"> Выберите таблицу </option> <option value="1"> Таблица №1 </option> <option value="2"> Таблица №2 </option> </select> <div id="tab" style="display:;"></div> Все это успешно работает в Опере, но ни фига неработает в IE, Chrome и Firefox. Если загружать файл jscript.js в конце body, тогда все работает во всех браузерах. Но я не вижу явных причин почему функция не вызывается при загрузке в HEAD. Пожалуйста, подскажите, почему так происходит? |
Скорее всего в jscript.js исполняется код, который пытается получить доступ к элементу, которого еще нет в DOM.
|
Цитата:
|
Часовой пояс GMT +3, время: 11:50. |