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

HTML+CSS+JavaScript

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

 

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

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

тема: Регистрационная форма JavaScript
 
 автор: Burunduk   (09.06.2007 в 17:25)   письмо автору
 
 


<html>
<head>
</head>
<body>
<script language="JavaScript">
  var formErrors;
  function check() {
   formErrors = '';
   check_em();
   check_em2();
   check_bYear();
   check_pass();
   if(formErrors.length == 0){
   return true;
  }else{
   alert(formErrors) ; 
   window.document.detailsForm.fn.focus();
   return false;
  }
  }
  function check_em() {
   var eMail2check ;
   eMail2check = window.document.detailsForm.email.value ;
   if (eMail2check == 0){
   formErrors+= 'e-mail field is empty'+ '\n';
   }
   }
   function check_em2() {
   var eMail2check ;
   eMail2check = window.document.detailsForm.email.value ;
   if (eMail2check.indexOf("@")<0)&&(email2check.indexOf(".")<0){
   formErrors+= 'eroor'+ '\n';
   }
   }

  function check_bYear(){ 
   var bYear ;
   var lowYear ;
   bYear = parseInt(window.document.detailsForm.bYear.value);
   if(isNaN(bYear)){
   formErrors += 'error in your year' + '\n';
  } 
   toDay = new Date();
   toDayYear = toDay.getFullYear();  
   lowYear = toDayYear - 149;
   if((bYear < lowYear)||(bYear > toDayYear)){
   formErrors+= 'error in your year' + '\n';
  }
  }
  
  function check_pass(){
   var pass;
   pass = window.document.detailsForm.pass.value;
   if((pass>12)&&(pass<0)){
   formErrors+= 'error in your password' +'\n';
 }
}
   
 </script>
</head>
<body bgcolor="black" text="white">
<div align="center"><b><u>
<font size="5" color="red">Registration
</font></b></u>

<br />
<form name="detailsForm"
  action="newCustomerInsert.asp" 
  method="post" onsubmit="return check()">
  >
  <table cellpadding="1" cellspacing="1" bgcolor="red" style="border:1px solid #FFFFFF;" border="0">
  <tr>

   <td>
   Username
   </td>
   <td>
   <input type="text" name="fn" size="30" />
   </td>

  </tr>

  <tr >
   <td>
     Family name
   </td>
   <td>
   <input type="text" name="ln" size="30" />
   </td>
  </tr>
  <br />
  <tr bgcolor="red">
   <td>
   Borth year
   </td>
   <td>
   <input type="text" name="bYear" size="15" />
   </td>
  </tr>
  <tr>
   <td>
    E-Mail
   </td>
   <td>
   <input type="text" name="email"  size="30" />
   </td>
   </tr>
   <tr>
    <td>
     Password
    </td>
    <td>
   <input type="password" name="pass" size="30" />
    </td>
   </tr>
   <tr>
   <td colspan="2" align="center">
     <input type="submit" value="enter"
    </td>
   </tr>
  </table>
 <br /><br />
 </form>
</div>
        </td>
      </tr>
    </table>
  <table border="0" cellpadding="0" cellspacing="0" width="100%" height="20">
    <tr>
      <td width="100%" valign="middle">
        
    </tr>
  </table>


</body>
</html>

Проблема в том что функции не работают , форма просто отсылает данные дальше к файлу ASP несмотря на то что в регистрационной форме содержатся ошибки.
Зы пятый час сижу не могу найти ошибку=(
Зыы строго не судите я только начал учить JavaScript

   
 
 автор: bronenos   (09.06.2007 в 18:24)   письмо автору
 
   для: Burunduk   (09.06.2007 в 17:25)
 

я отключ жс и смогу отправить любую форму

   
 
 автор: Burunduk   (09.06.2007 в 18:44)   письмо автору
 
   для: bronenos   (09.06.2007 в 18:24)
 

Наверное вы меня не поняли. Функция JavaScript должна проверить введенные данные в форму. Но проверка почему- то не работает.

   
 
 автор: bronenos   (09.06.2007 в 19:14)   письмо автору
 
   для: Burunduk   (09.06.2007 в 18:44)
 

1. мыло лучше проверять регулярными
2. если узнавать пустое ли поле то надо сравнивать его не с 0 а с ''
3. если сравнивать длину текста в поле как в случае с паролем то надо обращаться не с .value a c .value.length поля

   
 
 автор: Burunduk   (09.06.2007 в 19:31)   письмо автору
 
   для: bronenos   (09.06.2007 в 19:14)
 


<script language="JavaScript">
  var formErrors;
  function check() {
   formErrors = '';
   check_em();
   check_em2();
   check_bYear();
   check_pass();
   if(formErrors.length == 0){
   return true;
  }else{
   alert(formErrors) ; 
   window.document.detailsForm.fn.focus();
   return false;
  }
  }
  function check_em() {
   var eMail2check ;
   eMail2check = window.document.detailsForm.email.value.length ;
   if (eMail2check == "){
   formErrors+= 'e-mail field is empty'+ '\n';
   }
   }
   function check_em2() {
   var eMail2check ;
   eMail2check = window.document.detailsForm.email.value.length ;
   if (eMail2check.indexOf("@")<0)&&(email2check.indexOf(".")<0){
   formErrors+= 'eroor'+ '\n';
   }
   }

  function check_bYear(){ 
   var bYear ;
   var lowYear ;
   bYear = parseInt(window.document.detailsForm.bYear.value);
   if(isNaN(bYear)){
   formErrors += 'error in your year' + '\n';
  } 
   toDay = new Date();
   toDayYear = toDay.getFullYear();  
   lowYear = toDayYear - 149;
   if((bYear < lowYear)||(bYear > toDayYear)){
   formErrors+= 'error in your year' + '\n';
  }
  }
  
  function check_pass(){
   var pass;
   pass = window.document.detailsForm.pass.value.length;
   if((pass>12)&&(pass<0)){
   formErrors+= 'error in your password' +'\n';
 }
}
   
 </script>
</head>
<body bgcolor="black" text="white">
<div align="center"><b><u>
<font size="5" color="red">Registration
</font></b></u>

<br />
<form name="detailsForm"
  action="newCustomerInsert.asp" 
  method="post" onsubmit="return check()">
  >


Вроде исправил. Но всеравно не выкидывает он мне сообщения об ошибках если я ввожу пустые поля или специально делаю ошибку при вводе мыла и тд=(
Зы про 1 пункт не понял.

   
 
 автор: bronenos   (09.06.2007 в 20:30)   письмо автору
 
   для: Burunduk   (09.06.2007 в 19:31)
 

простите если не так но кажется вот
if (!email.value.match (/^[a-z0-9_-]+@[a-z0-9_-]+\.[a-z]{2,6}$/i))
{ ошибка }

   
 
 автор: CNT   (09.06.2007 в 19:33)   письмо автору
 
   для: Burunduk   (09.06.2007 в 17:25)
 

-

   
Rambler's Top100
вверх

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