Скрипт выполняется только в Опере
Добрый день!
Для 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, время: 14:42. |