Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Определить тип поля по имени
 
 автор: tyoma_first   (24.02.2009 в 17:06)   письмо автору
 
 

При обработке фомы мне по имени нужно найти первое не "hidden" поле (т.е. на форме может быть несколько полей с одним именем, часть из которых "hidden", которые мне нужно отсеить).
Делаю это я вот так:
fld = document.getElementsByName(name);
var i=0;
while (fld[i].type=='hidden')
{
    i++;
}
var field= fld[i];

Но если на форме есть поле типа "select" - скрипт выдает ошибку (в месте "fld[i].type=='hidden'"), т.к. у поля типа "select" нет такого атрибута ("type"). Как можно правильно обойти эту проблему (try-catch хотелось бы использовать в крайнем случае)?

  Ответить  
 
 автор: PAT   (24.02.2009 в 20:23)   письмо автору
 
   для: tyoma_first   (24.02.2009 в 17:06)
 

if (fld[i].type && fld[i].type == 'hidden') 

  Ответить  
 
 автор: tyoma_first   (24.02.2009 в 20:46)   письмо автору
 
   для: PAT   (24.02.2009 в 20:23)
 

Так веди проблема не в том что выполняется или не выполняется условие, а в том, что скрипт на этом условии валится... думаю попробовать
if (fld[i].type){
  if (fld[i].type == 'hidden')...

  Ответить  
 
 автор: ddhvvn   (24.02.2009 в 21:13)   письмо автору
 
   для: tyoma_first   (24.02.2009 в 20:46)
 

ну пробуйте, только думаете товарищ PAT не так написал?

  Ответить  
 
 автор: PAT   (24.02.2009 в 21:14)   письмо автору
 
   для: tyoma_first   (24.02.2009 в 20:46)
 

НИКТО НИКУДА не валится.
<form>
<input name="N" type="hidden" class="hid1">
<input name="N" type="hidden" class="hid2">
<select name="N" class="sel"></select>
<input name="N" type="button" class="but">
<input name="N" type="submit" class="sub">
<input name="N" class="tex">
<input name="N" type="hidden" class="hid3">
</form>

<a href="#" onclick="return f ('N')">Найти первый не-hidden</a>

<script>
function f (name)
{

fld = document.getElementsByName(name);
var i=0;
while (fld[i].type && fld[i].type=='hidden')
{
    i++;
}
alert (fld[i].className);
return false;
}
</script>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования