Показать сообщение отдельно
  #1 (permalink)  
Старый 30.06.2014, 09:37
Интересующийся
Отправить личное сообщение для klk.pma Посмотреть профиль Найти все сообщения от klk.pma
 
Регистрация: 30.06.2014
Сообщений: 23

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

Пожалуйста, подскажите, почему так происходит?

Последний раз редактировалось klk.pma, 30.06.2014 в 09:51.
Ответить с цитированием