Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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.
Ответить с цитированием
  #2 (permalink)  
Старый 30.06.2014, 11:23
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

Скорее всего в jscript.js исполняется код, который пытается получить доступ к элементу, которого еще нет в DOM.
Ответить с цитированием
  #3 (permalink)  
Старый 30.06.2014, 12:25
Интересующийся
Отправить личное сообщение для klk.pma Посмотреть профиль Найти все сообщения от klk.pma
 
Регистрация: 30.06.2014
Сообщений: 23

Сообщение от WorM32 Посмотреть сообщение
Скорее всего в jscript.js исполняется код, который пытается получить доступ к элементу, которого еще нет в DOM.
Да вы правы. Файл jscript коряво написал
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрипт проверяет только один раз frixer Общие вопросы Javascript 2 06.11.2013 01:41
Скрипт работает только в Mazilla Pashok Ваши сайты и скрипты 3 26.01.2013 23:09
Не отрабатывает только в Опере Demasteroid Opera, Safari и др. 1 12.11.2012 17:18
Скрипт не работает в опере, работает в IE XpycTuk Общие вопросы Javascript 9 06.03.2009 15:50
Не работает скрипт в Опере stosen Элементы интерфейса 34 03.11.2008 20:38