Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Глюк при создании option

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
SergeantPEPPER
Отправлено: 15 Октября, 2008 - 10:09:52
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Сент. 2007  
Откуда: Казань


Помог: 0 раз(а)




День добрый.

Помогите пожалуйста объяснить это сумасшествие:
у меня есть select, в который я AJAX-ом заливаю options (создаю их через add)

CODE (text):
скопировать код в буфер обмена
  1. for (i=0; i<fn_options.length; ++i)
  2.     {
  3.         var selOption = document.createElement ('option');
  4.         selOption.value = fn_options[i];
  5.         selOption.text = fn_options[i];  
  6.         if (default_eFieldName != '') {
  7.             if (fn_options[i] == default_eFieldName) selIndex = i;
  8.         }    
  9.         document.frm_edit.edit_field_name.add (selOption);        
  10.     }

затем я отмечаю тот пункт, который должен быть выделен по-умолчанию:

CODE (text):
скопировать код в буфер обмена
  1. document.frm_edit.edit_field_name.selectedIndex = selIndex;

Вот после этого у меня в селекте появляются лишние options-пустышки, без текста, без значения ...

Так вот самое странное!!! Если я между этими двумя блоками вставлю простой цикл перебирающий все эти options select-а и выводит через alert их текст --- ВСЕ РАБОТАЕТ НОРМАЛЬНО - опции-пустышки не возникают:

CODE (text):
скопировать код в буфер обмена
  1. for (i=0; i<fn_options.length; ++i)
  2.     {
  3.         var selOption = document.createElement ('option');
  4.         selOption.value = fn_options[i];
  5.         selOption.text = fn_options[i];  
  6.         if (default_eFieldName != '') {
  7.             if (fn_options[i] == default_eFieldName) selIndex = i;
  8.         }    
  9.         document.frm_edit.edit_field_name.add (selOption);        
  10.     }
  11.     for (i=0; i<document.frm_edit.edit_field_name.length; ++i)
  12.     {
  13.         alert (document.frm_edit.edit_field_name.options[i].text);
  14.     }
  15.     document.frm_edit.edit_field_name.selectedIndex = selIndex;


Такая штука при этом наблюдается именно в Опере, в ИЕ все работает нормально
 
 Top
Champion Супермодератор
Отправлено: 15 Октября, 2008 - 11:58:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




А вот просто интересно. После добавления опций fn_options.length и document.frm_edit.edit_field_nam e.length - одно и то же чило получается? И чему оно соответствует - просто числу опуий или с пустышками?
 
 Top
SergeantPEPPER
Отправлено: 16 Октября, 2008 - 11:47:12
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Сент. 2007  
Откуда: Казань


Помог: 0 раз(а)




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

Не понял

Сами опции-пустышки как будто бы вообще абсолютно не существют в самом дереве объектов!!! Т.е. как только я пробегаюсь alert-ом по опциям списка эти пустышки исчезают!!!

Вот как ALERT может исключать опции?!?! Не понял Это я никак не могу понять Нахмурился
 
 Top
Champion Супермодератор
Отправлено: 16 Октября, 2008 - 12:13:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




SergeantPEPPER пишет:
Сами опции-пустышки как будто бы вообще абсолютно не существют в самом дереве объектов!!

А кстати, если смотреть код html получившийся траницы, они есть в в самом дереве объектов?
 
 Top
valenok
Отправлено: 16 Октября, 2008 - 12:15:01
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




(через DOM inspector в опере)


-----
Truly yours, Sasha.
 
My status
 Top
SergeantPEPPER
Отправлено: 18 Октября, 2008 - 14:57:11
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Сент. 2007  
Откуда: Казань


Помог: 0 раз(а)




2Champion: я не могу посмотреть получившийся html код, т.к. создаю опции списка прямо находу ЯваСкриптом... К сожалению... Так бы давно посмотрел Недовольство, огорчение

2valenok: а не подскажете - это где такая опция в Опере находится? Очень интересно посмотреть. Всю Оперу излазил - не нашел.
 
 Top
valenok
Отправлено: 18 Октября, 2008 - 20:37:30
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Судя по тому что у меня они находятся в
Инструменты - Представления - Кнопки - Мои кнопки
То это нужно где то скачать.

http://img142.imageshack.us/img142/209/24586490tw7.jpg

(Отредактировано автором: 18 Октября, 2008 - 20:38:06)



-----
Truly yours, Sasha.
 
My status
 Top
SergeantPEPPER
Отправлено: 19 Октября, 2008 - 19:11:33
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Сент. 2007  
Откуда: Казань


Помог: 0 раз(а)




Спсибо, я поищу Улыбка
 
 Top
valenok
Отправлено: 19 Октября, 2008 - 21:55:26
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Вроде через firebug тоже можно


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB