Реклама на сайте Advertise with us

JavaScript проверка заполнения полей формы

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

нет судьбы

С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204


Передовик Master-X (16.07.2011) Передовик Master-X (16.10.2011) Передовик Master-X (01.11.2011) Передовик Master-X (16.11.2011) Передовик Master-X (01.01.2012) Ветеран трепа Master-X (16.02.2012)
Ссылка на сообщениеДобавлено: 12/01/12 в 00:39       Ответить с цитатойцитата 

Есть форма всего из 2х полей.
Код:
<form method="POST" id="myform" action="http://bla.bla">

<input type="text" name="username" />
<input type="text" name="password" />

<input type="submit" value="Click Here" />
</form>
Всего-то нужно проверить заполнены ли они более чем 6тью символами каждый при нажатии кнопки сабмит.
Использовать ли под это дело jQuery Validation, jQuery Form или можно обойтись более простым методом?
Если можно обойтись без jQuery, то подскажите плз направление или кусок кода. Как реакцию на пустые поля (или<6) достаточно диалога alert и не пропустить форму на action.

®

0
 



С нами с 24.12.10
Сообщения: 478
Рейтинг: 366

Ссылка на сообщениеДобавлено: 12/01/12 в 01:43       Ответить с цитатойцитата 

Код:
<script type="text/javascript">
function check () {

   if ( document.forms[0].username.value.length < 6 ) {
      
      alert('Username must be at least 6 symbols in length.');
      return false;
      
   }
   else if ( document.forms[0].password.value.length < 6 ) {
      
      alert('Password must be at least 6 symbols in length.');
      return false;
      
   }
   
   return true;
   
}
</script>

<form method="POST" id="myform" action="http://bla.bla" onSubmit="return check();">

<input type="text" name="username" />
<input type="text" name="password" />

<input type="submit" value="Click Here" />
</form>

8
 



С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365

Ссылка на сообщениеДобавлено: 12/01/12 в 01:46       Ответить с цитатойцитата 

Код:

function check() {
if ((document.getElementById('username').value.length < 6) || (document.getElementById('password').value.length < 6)) {
   alert('username and password must be at least 6 chars long');
   return false;
   }
}
</script>


<form method="POST" id="myform" action="http://bla.bla" onSubmit="return check()">
<input type="text" name="username" id="username" />
<input type="text" name="password" id="password" />
<input type="submit" value="Click Here" />
</form>

9
 

нет судьбы

С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204


Передовик Master-X (16.07.2011) Передовик Master-X (16.10.2011) Передовик Master-X (01.11.2011) Передовик Master-X (16.11.2011) Передовик Master-X (01.01.2012) Ветеран трепа Master-X (16.02.2012)
Ссылка на сообщениеДобавлено: 12/01/12 в 03:55       Ответить с цитатойцитата 

А можно так (вместо forms[0] - getElementById('myform'))?
Оно то работает но насколько это корректный\кроссбраузерный код:
Код:

<script type="text/javascript">
function check () {

   if ( document.getElementById('myform').username.value.length < 6 ) {
      alert('Username must be at least 6 symbols in length.');
      return false;
   }
   else if ( document.getElementById('myform').password.value.length < 6 ) {
      alert('Password must be at least 6 symbols in length.');
      return false;
   }

   return true;

}
</script>

<form method="POST" id="myform" action="http://bla.bla" onSubmit="return check();">

<input type="text" name="username" />
<input type="text" name="password" />

<input type="submit" value="Click Here" />
</form>


Первый вариант более подошёл, так как он конкретно указывает какое из полей заполнено не верно и не вынуждает добалять в форму дополнительных надстроек в виде id для полей input.. Хотя воторой вариант заметно короче.
Вот только form[0] не понравилось при наличии уже готового id="myform" у формы.

®

0
 



С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538


Передовик Master-X (01.11.2009) Передовик Master-X (16.11.2009) Передовик Master-X (01.02.2011) Передовик Master-X (01.12.2011) Передовик Master-X (16.12.2011) Ветеран трепа Master-X (01.01.2014)
Ссылка на сообщениеДобавлено: 12/01/12 в 05:57       Ответить с цитатойцитата 

Код:
<html>
   <head>
      <script>
      function ValidateMyForm() {
         var name = document.MyForm.Name;
         var password = document.MyForm.Password
         if (name.value.length < 6) {
            window.alert("name.value.length < 6");
            name.focus();
            return false;
         }
         if (password.value.length < 6) {
            window.alert("password.value.length < 6");
            password.focus();
            return false;
         }
         return true;
      }
      </script>
   </head>
<body>
   <form method="post" action="" name="MyForm" onsubmit="return ValidateMyForm();">
      <p>Name: <input type="text" name="Name"></p>
      <p>Password:  <input type="password" name="Password"></p>
      <p><input type="submit" value="Send" name="submit"></p>
   </form>
</body>
</html>

8
 



С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096

Ссылка на сообщениеДобавлено: 12/01/12 в 06:02       Ответить с цитатойцитата 

Vyacheslav писал:
А можно так (вместо forms[0] - getElementById('myform'))?
Оно то работает но насколько это корректный\кроссбраузерный код


кроссбраузернее некуда icon_wink.gif пользуй

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 12/01/12 в 08:37       Ответить с цитатойцитата 

К текстовым полям можно и по имени обращаться, а функцию изолировать, передавая туда форму.
Код:
<html>
    <head><title>Form</title></head>
    <body>

        <script type="text/javascript">
            function isValid(myForm){
                if(myForm.elements["username"].value.length < 6 || myForm.elements["password"].value.length < 6){
                    alert('username and password must be at least 6 chars long');
                    return false;
                }
                return true;
            }
        </script>

        <form method="post" id="myform" action="http://google.com/">
            <input type="text" name="username" id="username" value=""/>
            <input type="text" name="password" id="password" value="" />
            <input type="submit" value="Click Here" onclick="return isValid(this.form)" />
        </form>
    </body>
</html>

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »