Добрый день!
Для 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.
Пожалуйста, подскажите, почему так происходит?