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

HTML+CSS+JavaScript

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

 

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

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

тема: проверка заполнения формы
 
 автор: MIB   (12.04.2008 в 00:56)   письмо автору
 
 

Доброй ночи! Господа, подскажите как проверить заполнение поля типа 'text' перед отправкой формы? в общем чтоб пустое поле не передавалось! Заранее спасибо!

   
 
 автор: chelovek   (12.04.2008 в 06:56)   письмо автору
 
   для: MIB   (12.04.2008 в 00:56)
 


<html>
<head>

<script language="JavaScript">
    function check()
    {
        if (my_form.field1.value == "")
        {
            alert ('Поле не заполнено');
            return false;
        }        
    }
</script>

</head>
<body>
<form action = "123.html" method = "post" name="my_form" onSubmit = "check();">
    <input type = "text" value = "" name = "field1">
    <input type = "submit" value = "Отправить" >
</form>
</body>
</html>

   
 
 автор: CNTv2.0   (12.04.2008 в 07:22)   письмо автору
 
   для: chelovek   (12.04.2008 в 06:56)
 

Вы бы проверили, прежде чем советовать.
Правильным будет следующий вариант:
<html>
<head>

<script language="JavaScript">
    function check()
    {
        if (my_form.field1.value == "")
        {
            alert ('Поле не заполнено');
            return false;
        }
    return true;      
    }
</script>

</head>
<body>
<form action = "123.html" name="my_form" onSubmit = "return check();">
    <input type = "text" value = "" name = "field1">
    <input type = "submit" value = "Отправить" >
</form>
</body>
</html> 

   
 
 автор: MIB   (13.04.2008 в 21:46)   письмо автору
 
   для: CNTv2.0   (12.04.2008 в 07:22)
 

а если 10 полей? через логическое "и"?

   
 
 автор: Lstasss   (13.04.2008 в 23:27)   письмо автору
 
   для: MIB   (13.04.2008 в 21:46)
 

нет, прокрутить по ним цикл.
function check(frm){
for(i=0;i<frm.length;i++){
if(!frm.elements[i].value){
return false;
alert('Error!');
}
}
return true;
}

   
 
 автор: MIB   (14.04.2008 в 00:12)   письмо автору
 
   для: Lstasss   (13.04.2008 в 23:27)
 

не могу сообразить! Не могли бы Вы модернизировать ранее приведённый скрипт, плиз!!!

   
 
 автор: sim5   (14.04.2008 в 06:38)   письмо автору
 
   для: MIB   (14.04.2008 в 00:12)
 


<html> 
<head> 

<script language="JavaScript"> 
function check(e) { 
 for(i=0; i<e.length; i++) { 
   if(!e[i].value){ 
    alert ('Поле не заполнено');
    return false; 
   } 
 } 
 return true; 
}
</script> 

</head> 
<body> 
<form action = "" name="my_form" onSubmit = "return check(this.elements);"> 
 <input type = "text" value = "" name = "field1">
 <input type = "text" value = "" name = "field2">
 <input type = "text" value = "" name = "field3"> 
 <input type = "submit" value = "Отправить" > 
</form> 
</body> 
</html>

   
 
 автор: MIB   (14.04.2008 в 10:34)   письмо автору
 
   для: sim5   (14.04.2008 в 06:38)
 

Я так понимаю, что в данном случае будет проверяться заполнение всех подряд полей, а если необходимо обязательное заполнение выборочно? например из 10-ти полей обязательными к заполнению являются только 1,2,3,4,6,8,9...

   
 
 автор: Andchir   (14.04.2008 в 11:03)   письмо автору
 
   для: MIB   (14.04.2008 в 10:34)
 


<script>
<!--
function onsub(form)
{
if(!form.fio.value.length)
  {alert('Заполните поле "Ф.И.О."');return false;
  }

if(!form.contact.value.length)
  {alert('Укажите Ваш номер телефона');return false;
  }

if(form.email.value.indexOf('@')==-1)
{
alert('Корректно укажите e-mail');return false;
}

return true;
}
 //-->
</script>

<form action="" method="post" onSubmit="javascript:return onsub(this)">
................



в строке if(!form.fio.value.length) fio это name поля. Запутали человека с циклами)

   
 
 автор: sim5   (14.04.2008 в 11:46)   письмо автору
 
   для: Andchir   (14.04.2008 в 11:03)
 

Собственно никто его не запутывал, каков вопрос, таков ответ. Но если уж и говорить, то можно любые определенные поля проверить в цикле, досточно прописать ассцитивный массив, где и текст ошибок указать для полей.

   
 
 автор: Lstasss   (14.04.2008 в 11:54)   письмо автору
 
   для: sim5   (14.04.2008 в 11:46)
 

... и при alert() можно ещё установить фокус на поле и подкрасить его :-)

if(!e[i].value){
alert('Поле не заполнено');
e[i].focus();
return false;
}

   
 
 автор: MIB   (14.04.2008 в 20:07)   письмо автору
 
   для: Lstasss   (14.04.2008 в 11:54)
 

не подсвечивается.... только вообще работать перестаёт... ))

   
Rambler's Top100
вверх

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