Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2012, 21:19   #1
acteralex
Форумчанин
 
Регистрация: 19.05.2011
Сообщений: 189
По умолчанию не работает js

РЕбята, подскажите в чем может быть проблема! 100% у многих такое было!
если пишу скрипт прямо в старнице все нормально! Если же делаю подключение его в </head>, то ничего не работает!
acteralex вне форума Ответить с цитированием
Старый 15.03.2012, 21:26   #2
acteralex
Форумчанин
 
Регистрация: 19.05.2011
Сообщений: 189
По умолчанию

вот собственно, что в js:
Код:
name="";

function what(id){
	WhatTheText = new Array('question', 'answer_1', 'answer_2', 'answer_3', 'answer_4', 'answer_5');
	name = WhatTheText[id];
	return name;
}

cursor = 0;

function obj() { str = document.getElementById(name); }
...
...
...
ошибка через firebug -
Код:
what is not a function
document.getElementById(name) is null
acteralex вне форума Ответить с цитированием
Старый 15.03.2012, 21:31   #3
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Дом структура еще не построена, а вы уже пытаетесь с ней работать.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 15.03.2012, 21:50   #4
acteralex
Форумчанин
 
Регистрация: 19.05.2011
Сообщений: 189
По умолчанию

Naive, спасибо!
Я никогда с этим не сталкивался! и, да - я плохо знаю, что такое DOM! Сейчас это исправлю и почитаю!

Но пока подскажи как мне это исправить!)
acteralex вне форума Ответить с цитированием
Старый 16.03.2012, 02:26   #5
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Либо бросить вызов скрипта в конец документа, либо запустить проверку на готовность структуры (аналог jQuery(document).ready), либо document.body.onload
Последний вариант "неочень", так как он ждет, когда документ загрузится полностью (все стили, картинки, флеши и прочие свистелки)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 17.03.2012, 19:55   #6
acteralex
Форумчанин
 
Регистрация: 19.05.2011
Сообщений: 189
По умолчанию

но у меня вызов идет по клику мыши... Или это не то?
acteralex вне форума Ответить с цитированием
Старый 18.03.2012, 12:51   #7
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Браузер получает сперва html и понятия не имеет о каких-либо скриптах, стилях, картинках и даже дом-структуре. Начинается парсинг документа.
Первым делом браузер отрисовывает серверные заголовки (content-type например) На этом этапе определяется как необходимо отображать документ. Допустим, что он распознал документ как text/html.
Далее документ парсится уже по своему содержимому:
1 доктайп
2 хтмл
3 хеад
4 тайтл
5 линк - тут браузер посылает запрос на сервер для закачки таблицы стилей (напр.)
6 скрипт - посылаем запрос на получение скрипта, скачиваем
7 тело документа
8 начинаем отрисовку документа, паралельно просматривая есть ли какие-нибудь стили
9 дивы, спаны, таблички, и прочие теги (допустим, треть документа)
10 - тут приходит скрипт, в теле которого сразу же начинается работа с дом-структурой, str = document.getElementById(name);
11 тут отрисовывается элемент к которому скрипт обращается в шаге 10 - итого ошипко
12 и так далее.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 18.03.2012, 17:16   #8
acteralex
Форумчанин
 
Регистрация: 19.05.2011
Сообщений: 189
По умолчанию

Naive, судя по вышенаписанному:
у меня 6 пункт - скачивает скрипт!
Но обращение к "
Код:
...str = document.getElementById(name);...
" у меня будет происходить только по onClick...
acteralex вне форума Ответить с цитированием
Старый 18.03.2012, 18:15   #9
acteralex
Форумчанин
 
Регистрация: 19.05.2011
Сообщений: 189
По умолчанию

Ужас... Ради интереса попробовал:
изменил функцию в js
Код:
function what()
на
Код:
function whatName()
Хотя других функций с именем what у меня нет... и переменных тоже... Может это зарегестрированное слово в js?

И ВСЁ ЗАРАБОТАЛО)))))))))

Последний раз редактировалось acteralex; 18.03.2012 в 18:23.
acteralex вне форума Ответить с цитированием
Старый 18.03.2012, 21:38   #10
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Из консоли то работало ведь)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа работает пошагово, но не работает при запуске -Katerina- Microsoft Office Excel 3 12.07.2011 03:40
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56
почему интеренет на Xp не работает, а на семерке работает Lenura Windows 18 04.10.2010 12:04
TP7 чтение из файла, работает но не работает!? Qousio Помощь студентам 7 02.06.2009 09:37
Библиотека НЕ работает с 2008, но работает с 2000 SQL namenike Общие вопросы C/C++ 0 26.05.2009 11:04