Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Проверка текстового поля (https://javascript.ru/forum/events/7638-proverka-tekstovogo-polya.html)

pingvinchic 12.02.2010 11:47

Проверка текстового поля
 
Подскажите, пожалуйста как проверить заполнено ли текстовое поле

<form name="form1" method="get" action="">
 <input type="text" name="name" id="name" value="{NAME}">
 <input type="submit" name="apply" id="apply" value="Добавить" alt="Добавить">
</form>


Чтобы если поле не заполнено выводилось сообщение
(Как здесь, при создании темы, если не ввел заголовок:) )

Ex_Soft 12.02.2010 11:52

<form name="form1" method="get" action="" onsubmit="return(getElementById('name').value!='{NAME}')">

pingvinchic 12.02.2010 11:55

вот так работает :)

<script type="text/javascript">
function Check()
{
        if (document.form1.name.value =='')
        {
                alert('Введите название проекта!');
                return false;
        }
}
</script>


Оказывается надо было значение обозначить как value ==' '

pingvinchic 12.02.2010 11:59

Ex_Soft,
А как в вашем способе сообщение вывести? а так, да, попробовала, добавление блокируется

Gozar 12.02.2010 12:02

pingvinchic,
если у юзера отключен js то он отправит форму без всяких ваших проверок.

pingvinchic 12.02.2010 12:07

А есть такие способы проверки которые для всех пользователей подойдут?

Tim 12.02.2010 13:31

Цитата:

А есть такие способы проверки которые для всех пользователей подойдут?
Да. Выполнять проверку на сервере. Проверка на JS нужна только для удобства и ускорения работы пользователя с сайтом. Или сделать так, чтобы без JS ничего вообще не работало. Но это плохой вариант, проверка на сервере всё равно нужна или готовьтесь ко взломам.

Gozar 12.02.2010 13:59

Цитата:

Сообщение от Tim (Сообщение 44570)
Да. Выполнять проверку на сервере. Проверка на JS нужна только для удобства и ускорения работы пользователя с сайтом. Или сделать так, чтобы без JS ничего вообще не работало. Но это плохой вариант, проверка на сервере всё равно нужна или готовьтесь ко взломам.

Ну проверка нужна еще тогда, когда хочется частично снять нагрузку с сервера, если она большая.

С одной стороны форму можно всегда послать на сервер и абсолютной проверки здесь нет, с другой стороны можно отправлять форму с сайта не из формы, submit ведь не единственный способ это сделать, можно ведь и так:
form.submit()
, но тогда юзеры(нубы) с отключенным js отправить форму не смогут.

Если посещаемость маленькая, то проверка нужна только чтобы понапрасну не гонять юзера. Меня лично раздражает отправлять данные несколько раз, если я вдруг поле забыл заполнить.

pingvinchic 12.02.2010 22:44

по этой же теме:

<script type="text/javascript">
function Check()
{	
		 if (document.form1.com.value ==' ')
        {
                alert('Выберите сотрудника!');
                return false;
        }
}
</script>


<p><input name='com[]' type='checkbox' value="{COMMAND_ID}"><label>{COMMAND_NAME}</label></p>
<input type="submit" name="apply" id="apply" value="Добавить" alt="Добавить" onclick="return Check()" >


если так сделать код js не выполняется, как правильно обозначить
if (document.form1.com.value ==' ')

массив в js?

Tim 13.02.2010 03:19

Цитата:

но тогда юзеры(нубы) с отключенным js отправить форму не смогут.
А более сообразительные смогут сохранять на сервере всё что угодно забив на все JS проверки. Для таких дел есть FF плагин Tamper Data.

Цитата:

onclick="return Check()"
onclick="Check()" - может так?

Цитата:

массив в js?
Зачем? document.getElementByName('имя').value


Часовой пояс GMT +3, время: 03:42.