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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обращение к объетам формы, Что не правильно? 
V
    Опции темы
AlanG
Дата 15.7.2006, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 11.5.2006
Где: РашЫн ФидирейшЫн

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



Всем доброго времени суток.
Я в JS особо не вглублялся, т.к. не нужно, но сейчас возникла потребность.
Я не знаю, что из себя представляет обращение к еллементам объекта form через массив, что там происходит я не предсавляю, и этот код не работае. Что тут неправильно подскажите пожалуста.

И еще один вопрос не втему: Как узнать длину (кол-во эллементов) объекта, что-то типа obj.elements.lenght(), и что будет если я задам длину проверки большую чем кол-во эллементов, например если есть 3 эллемента, а я проверяю 5, к примеру, т.е обращаюсь к несуществующим эллементам.  Возникнет ли что-то непредвиденное? 

Код

<html>
<head>
<script type="text/JavaScript">
 function ButtonType(obj){
 for(var i=0; i<3; i++;) {   
if(obj.elements[i].type=="text") {obj.elements[i].value="this is text";}
 }
}
</script>
</head>
<body>
<form name="f1">
<input type="button" value="GO" size=12 onClick="alert('button type')">
<input type="text" value="" size=12>
<input type="text" value="" size=12>
<input type="text" value="" size=12>
<input type="button" value="GO" size=12 onClick="ButtonType(this.form)">
</form>
</body>
</html>
 
PM MAIL   Вверх
kaa
Дата 15.7.2006, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



AlanG, Ну вопервых про проверку несуществующих элементов - я думаю скорее всего у тебя вылетит ошибка "Элемент несуществуе или равен null" или "Требуется объект". Дословно не скажу, но что-то наподобие точно будет если сунешся переьирать несуществующие элементы 
PM MAIL   Вверх
vasac
Дата 15.7.2006, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



0-м элементом формы будет кнопка, поэтому:
Код

for ( var i = 1; i <= 3; i++ ) // И точки с запятой в конце не надо


Цитата

Как узнать длину (кол-во эллементов) объекта

Количество элементов в коллекции elements:
Код

obj.elements.length


Цитата

Возникнет ли что-то непредвиденное? 

Возникнет абсолютно предвиденная ошибка.

А вообще ответы на два последних вопроса мог бы дать эксперимент.
А на первый сообщение об ошибке в браузере. 
PM WWW   Вверх
AlanG
Дата 15.7.2006, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 11.5.2006
Где: РашЫн ФидирейшЫн

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



Всем спасибо  smile , все понятно. 
PM MAIL   Вверх
kaa
Дата 15.7.2006, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



AlanG,  Есть мнение что траблы идут потому что в обработчик у тебя предаётся объект - кнопка, а разбираешь ты его как объект-форму. Тебе обработчик нада в теге <form> опрделить, или так попробуй

Код

function ButtonType(obj){
 
      var parent_form = obj.form;
      for(var i=0; i<3; i++;) 
     {   
          if(parent_form .elements[i].type=="text") 
          {
               parent_form .elements[i].value="this is text";
          }
     }
}


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


 




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


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

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