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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача параметра this, как передать параметр this на onLoad 
:(
    Опции темы
s0lman
Дата 1.11.2007, 05:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


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

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



Здравствуйте все.
Вопрос в следующем. Есть элемент <select>, в зависимости от значения которого javascript выполняет определенные действия. Выглядит примерно след. образом

<script type="text/javascript">

function myfunc(chooser) {
    switch (chooser.options[chooser.selectedIndex].value) {
        case "0":   ...  ; break}
        case "1":  ... ; break;} 
        }
    }

</script> 

Вызывается на событии onchange элемента <select>
<select name="mysel" onchange="myfunc(this)">
<option>
...
</option>
</select>
 
Все работает, но когда я хочу вызвать функцию на событии onLoad примерно так

<body onLoad="myfunc(this)">
...
</body>

я не могу правильно передать функции параметр. Подскажите, плиз, что можно сделать?
Заранее спасибо.



--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
HotHead
Дата 1.11.2007, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Есть много способов сделать это. Например, использовать getElementsByName или getElementById. Я бы использовал напрямую имя формы, которой принадлежит select и его собственное имя. Тогда получится: <body onLoad="myfunc(document.forms.имя_формы.mysel);">
PM MAIL   Вверх
s0lman
Дата 1.11.2007, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


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

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



Спасибо заработало smile


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
GIK
Дата 1.11.2007, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


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

Репутация: 6
Всего: 14



Цитата

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

Потому что передается ссылка на объект body, а не на select.
Код

<html>
<head>
 <script language="javascript">
 <!--
 
function myfunc(chooser) {
 
    switch (chooser.options[chooser.selectedIndex].value) 
      {
        case "1":  alert("1 element"); break;
        case "2":  alert("2 element"); break; 
        case "3":  alert("3 element"); break; 
      }  
    }

function myfunc2(bodya) {
 alert(bodya.mysel.options[0].value);
  
    }

 //-->
</script>
</head>

<body onLoad="myfunc2(this)">
 
<select name="mysel" onChange="myfunc(this)">
 <option value=1> blabla </option>
 <option value=2> blabla </option>
 <option value=3> blabla </option>

</select>


</body>
</html>

Это так для справки, лучше используй documnet.getElementById() как тебе уже сказали.


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


 




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


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

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