Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблемы с исполнением ф-ций в Mozilla, Не исполняется пользовательская ф-ция в  
:(
    Опции темы
sandland
Дата 24.4.2009, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 28.4.2007

Репутация: нет
Всего: 1



есть простенькая ф-ция 
Код

    function do_change(size)
    {
                       // ...
    }

Она выполняется onChange на элементе <select> - тут все ок, работает как надо во всех браузерах. Далее я пытаюсь просто выполнить эту ф-цию без события, а при загрузке страницы:
Код

 <script>
 do_change(size.value);// start loading
 </script>

и начинаюстся пробелмы. IE, Opera воспринимают как надо..Firefox просто не хочет воспринимать ф-цию, добавил для првоерки в тело alert(), идо его выполнения даже не доходит. 

Я бы с радостью повесил эту ф-цию на onLoad на  <body>, но  проект на модули разделен + smarty, и так не получится сделать. 
Прошу подсказать, как правильно исполнять ф-ции, чтобы работало везде.

Это сообщение отредактировал(а) sandland - 24.4.2009, 23:23
PM MAIL WWW ICQ Jabber   Вверх
bars80080
Дата 24.4.2009, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



видать, функция выполняется раньше, чем загружается нужный элемент.

что есть size? ибо если вы используете это слово, то зря, лучше избегать служебных и сходных слов в javascript
PM MAIL WWW   Вверх
sandland
Дата 24.4.2009, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 28.4.2007

Репутация: нет
Всего: 1



сменил на p_size...это имя элемента select.
Не работает и в ИЕ все же...не может найти что такое p_size. Решил проверить, поставил задержку на выполенине 10 сек. Этого хватило бы на загрузку страницы...ПРоблема теперь что он не видит элемент select

то есть получается так: 
Код

<select name="p_size">
</select>

<script>
alert(p_size.value);    //  ERROR
</script>


Может я что путаю...

Это сообщение отредактировал(а) sandland - 24.4.2009, 23:42
PM MAIL WWW ICQ Jabber   Вверх
underW
Дата 25.4.2009, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 22.9.2008

Репутация: нет
Всего: 3



а если вот так попробывать:
Код

<select name="p_size">
</select>

<script>
alert(document.all.p_size.value);
</script>


так во всех браузерах срабатывает. 

То что Вы говорите, не видит select - это не совсем так, select видит, просто, если я не ошибаюсь, то элемент <select> не имеет свойства  value или оно у Вас не задано. 

Это сообщение отредактировал(а) underW - 25.4.2009, 01:46
PM MAIL   Вверх
Photon
Дата 26.4.2009, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Злобный программер
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.2.2009
Где: Таганрог

Репутация: нет
Всего: 12



Код

var sel_obj = document.all.p_size;
alert(sel_obj.options[sel_obj.selectedIndex].value);


Правильно примерно так..



--------------------
With best regards..
PM MAIL ICQ Skype GTalk Jabber   Вверх
VKoresh
Дата 14.5.2009, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 14.6.2007
Где: Запорожье

Репутация: нет
Всего: 1



Цитата(Photon @ 26.4.2009,  15:55)
Код

var sel_obj = document.all.p_size;
alert(sel_obj.options[sel_obj.selectedIndex].value);


Правильно примерно так..

так правильно только для ИЕ. В ФФ нет
Код

 document.all

PM MAIL ICQ   Вверх
Aliance
Дата 15.5.2009, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата

document.all.p_size.value
...
так во всех браузерах срабатывает. 

Хотя бы проверяли свой код, прежде чем вводить человека в заблуждение?

Вот так будет работать во всех современных браузерах:
Код

<select id="my-select"></select>
<script>
alert( document.getElementById( 'my-select' ).value );
</script>

PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0717 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.