submit только при условии ...

zul

Новичок
нет, ну конечно она есть, просто я конечно понимаю общее негодование по поводу того, что предложенные конструкции не работают, но форма - простейшая, а надо всего-лишь проверить имеют ли её поля значения... =)
в ch_submit побывали местные вариатны с именем anketa вместо f
 

Bocha

Guest
function ch_submit(){
for(i=0;i<document.anketa.elements.length;i++){
if((document.anketa.elements.value.length ==0)&&((document.anketa.elements.type == "text")||(document.anketa.elements.type=="textarea"))){
alert('Необходимо выбрать хотя бы одно наименование');
return false
}
}
return true;
}
у меня вот этот вариант работает без вопросов, при этом форма выглядит вот так
<form name="anketa" action="update.php" onsubmit="return ch_submit()">
<input type=text name="name">
<input type=text name="sname">
<select name=sex>
<option value=m>male</option>
<option value=f>female></option>
</select>
<input type="submit" name="button3" value="кнопка3">
</form>
 

zul

Новичок
аа.. разница всё-ж есть теперь! т.к. проверяем не на '', а на длину вводимых полей!

ОГРОМНОЕ СПАСИБО, думаю тема закрыта! Всё работает!
 

Bocha

Guest
работает с проверкой на пустую строку тоже, но тогда в поле надо ее добавить, типа <input type=text name="name" value="">
 

Ямерт

The Old One
Подозреваю что document.anketa.elements.value.length ==0
не сработает на строку из символов типа переноса строки, табуляции, и т.п.
Если мне не изменяет память, в Javascript как и в Java у класса String есть метод trim() - он поможет в этом.
Т.е. юзай document.anketa.elements.value.trim().length ==0
 

zul

Новичок
А radio я смогу таким образом проверять? Хотя я ответ и так знаю - нет, потому что не работает.. Я привел функцию к такому виду:
function ch_submit()
{
for(i=0;i<document.anketa.elements.length;i++)
{
if(document.anketa.elements.value.length == 0)
{
alert('Необходимо заполнить все поля');
return false;
break;
}
}
return true;
}
но оно не работает, с функцией trim() тоже ((
 

Ямерт

The Old One
Snegovik, у радио и чекбоксов есть boolean свойство checked.
Если группа буттонов с одним именем, то это соответственно будет массив.

Почитай наконец какой-нибудь мануал по Javascript, не жалуйся на каждую возникшую проблему.
И убери из цикла break, всё равно он никогда не сработает.
 

zul

Новичок
2Ямерт - критика принята к сведению и впредь постараюсь таким образом не поступать. На самом деле в данном случае моя проблема была в том, чтобы сделать это быстро! Посему спасибо всем, кто помогал и делал =)
 

Mr.Ak

Guest
Автор оригинала: Ямерт
Mr.Ak, проблема в том что человек хочет, чтобы ему сделали.
да блин крутилось на языке тоже самое сказать да как-то постеснялся :D
 
Сверху