|
|
|
| При обработке фомы мне по имени нужно найти первое не "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 хотелось бы использовать в крайнем случае)? | |
|
|
|
|
|
|
|
для: tyoma_first
(24.02.2009 в 17:06)
| |
if (fld[i].type && fld[i].type == 'hidden')
|
| |
|
|
|
|
|
|
|
для: PAT
(24.02.2009 в 20:23)
| | Так веди проблема не в том что выполняется или не выполняется условие, а в том, что скрипт на этом условии валится... думаю попробовать
if (fld[i].type){
if (fld[i].type == 'hidden')...
}
|
| |
|
|
|
|
|
|
|
для: tyoma_first
(24.02.2009 в 20:46)
| | ну пробуйте, только думаете товарищ PAT не так написал? | |
|
|
|
|
|
|
|
для: 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>
|
| |
|
|
|