2013-03-18 3 views
5

я сделал свою форму в режиме таблицы так:форма проверки в режиме таблицы с Javascript

<form name="register" method="post" action="#" onSubmit="return validasi()">   
    <table width="507" border="0"> 
     <h1 class="title"><a href="#">Form Perubahan Password</a></h1> 
     <tr> 
      <td width="190" ><span id="usernameerror" class="style20">Masukkan Username </span></td> 
      <td width="319"><input name="username" type="text"></td> 
     </tr> 
     <tr> 
      <td><span id="passworderror" class="style20">Masukkan Password Lama</span></td> 
      <td><input name="pass" type="password"></td> 
     </tr> 
     <tr> 
      <td><span id="password1error" class="style20">Masukkan Password Baru</span></td> 
      <td><input name="pass1" type="password"></td> 
     </tr> 
     <tr> 
      <td><span id="password2error" class="style20">Ulangi Masukkan Password Baru</span></td> 
      <td><input name="pass2" type="password"></td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td><input type="submit" name="Submit" value="Submit"> 
      <input type="reset" name="reset" value="Reset"></td> 
     </tr> 
     </table> 
    </form> 

и это мой код проверки с помощью JavaScript. проверить это ..

<script language="javascript"> 
function checkName(register) 

    { 
     var eobj = document.getElementById('usernameerror');   
     var susername = register.username.value;   
     var oRE = /^[a-z0-9]+[_.-]?[a-z0-9]+$/i;   
     var error = false;   
     eobj.innerHTML = '';   
     if (susername == '') { 

      error = 'Error: Username tidak boleh kosong';   
      register.username.focus(); 
     } 
     else if (!oRE.test(susername)) 

    { 
     error="Salah format"; 
    } 
     if (error)   
     { 
      register.username.focus();   
      eobj.innerHTML = error;   
      return false; 
     }   
     return true; 
    } 
    function validatePwd(register) /* old password verification */ 
    { 
     var eobj = document.getElementById('passworderror'); 
     var invalid = ' '; 
     var pw = register.pass.value; 
     var error = false; 
     eobj.innerHTML = ''; 
     if (pw.length < 1) 

     { 
      error = 'Masukkan password anda'; 
     } 
     else if (pw.indexOf(invalid) > -1) 
     { 
      error = 'Anda harus mengisi password'; 
     } 
     if (error) 
     { 
      register.pass.focus(); 
      eobj.innerHTML = error; 
      return false 
     } 
      return true; 
    } 
    function validatePwd1(register) /* password & retype-password verification */ 

    { 

     var eobj1 = document.getElementById('password1error');   
     var eobj2 = document.getElementById('password2error');   
     var invalid = ' ';   
     var pw1 = register.pass1.value;   
     var pw2 = register.pass2.value;   
     var error = false;   
     eobj1.innerHTML = '';   
     eobj2.innerHTML = '';   
     if (pw1.length < 1) 

     { 
       error = 'Masukkan password anda'; 

     } 
     else if (pw1.indexOf(invalid) > -1) 

     { 
       error = 'Anda harus mengisi password'; 

     }   
     if (error) 

     { 

      register.pass1.focus();   
      eobj1.innerHTML = error;   
      return false 

     } 

     if (pw1 != pw2) 

     { 
        eobj2.innerHTML = ' password tidak sama, coba masukkan kembali password anda';   
      return false; 

     } 
       return true; 

    } 


    function validasi() 

    { 

     var form = document.forms['register'];   
     var ary = [checkName, validatePwd, validatePwd1];   
     var rtn = true;   
     var z0 = 0;   
     for (var z0 = 0; z0 < ary.length; z0++) 

     {   
      if (!ary[z0](form)) 

      {   
       rtn = false;   
      }   
     } 
     return rtn; 
     } 
</script> 

Когда я использую эту проверку в обычно формируют свою работу, но в режиме таблицы, что это код проверки не work..help мне решить эту проблему ... TQ

зрения demo http://jsfiddle.net/andricoga/u9eZz/

+1

Где эта функция validasi()? –

+0

Вы должны использовать чистый PHP для проверки на стороне сервера. Javascript может быть изменен пользователем. (Особенно для того, для чего вы его используете). –

ответ

1

Вы указали onSubmit="return validasi()" в форме, но там, где вы определили функцию. для проверки работоспособности вам нужно определить функцию для этого.

function validasi(){ 
    // validation code goes here 
} 
+0

Да, это точно, но все еще не работает проверить это в http://jsfiddle.net/andricoga/x8Vdw/5/ – newbie

+0

вы покажете нам, как вы определили эту функцию? –

+0

Я изменяю этот скрипт из этого блога http://mangulsource.blogspot.com/2012/04/membuat-form-validasi-dengan-javascript.html Возможно, я даю вам возможность изучить индонезийский язык :) – newbie

1

В функции validatePwd() заменить

eobj1.innerHTML = error; 

с

eobj.innerHTML = error; 

вы не определили этот объект eobj1 и, следовательно, вызывает время работы яваскрипта ошибка.

1

Я изменил код, чтобы отобразить сообщение об ошибке рядом с полем, попробовать это

Javascript

<script language="javascript"> 

function checkName() 

    { 
     var obj = document.getElementById('usernameerror');   
     var susername = document.getElementById('username').value;   
     var oRE = /^[a-z0-9]+[_.-]?[a-z0-9]+$/i;   
     var error = false;   
     obj.innerHTML = ''; 

     if (susername == '') { 

      error = 'Username can not be empty';   

     } 
     else if (!oRE.test(susername)) 

    { 
     error = 'One format'; 
    } 
     if (error)   
     { 
      document.getElementById('username').focus();   
      obj.innerHTML = error;   
      return false; 
     }   
     return true; 
    } 



function validatePwd() /* password & retype-password verification */ 
    { 
     var obj = document.getElementById('pwderror'); 
     var invalid = ' '; 
     var pw = document.getElementById('pass').value; 
     var error = false; 
     obj.innerHTML = ''; 

     if (pw.length < 1) 

     { 
      error = 'Enter your old password'; 
     } 
     else if (pw.indexOf(invalid) > -1) 
     { 
      error = 'You need a password'; 
     } 
     if (error) 
     { 
      document.getElementById('pass').focus(); 
      obj.innerHTML = error; 
      return false 
     } 
      return true; 
    } 


function validatePwd1() /* password & retype-password verification */ 

    { 

     var obj = document.getElementById('pwd1error');     
     var invalid = ' ';   
     var pw1 = document.getElementById('pass1').value;   
     var pw2 = document.getElementById('pass2').value;  
     var error = false;   
     obj.innerHTML = '';   

     if (pw1.length < 1) 

     { 
       error = 'Enter your new password'; 

     } 
     else if (pw1.indexOf(invalid) > -1) 

     { 
       error = 'You need a password'; 

     }   
     if (error) 

     { 

      document.getElementById('pass1').focus();   
      obj.innerHTML = error;   
      return false 

     } 

     if (pw1 != pw2) 

     { 
        obj.innerHTML = 'passwords are not the same, try to re-enter your password';   
      return false; 

     } 
       return true; 

    } 


function validate() 

    { 

     var form = document.forms['register'];   
     var ary = [checkName, validatePwd, validatePwd1];   
     var rtn = true;   
     var z0 = 0;   
     for (var z0 = 0; z0 < ary.length; z0++) 

     {   
      if (!ary[z0](form)) 

      {   
       rtn = false;   
      }   
     } 
     return rtn; 
     } 

</script> 

Форма

<form name="register" method="post" action="#" onSubmit="return validate()">   
    <table border="0"> 
    <tr> 
    <td colspan="2"> 
     <h1 class="title"><a href="#">Password Change Form</a></h1> 
    </td> 
    </tr> 
     <tr> 
      <td><span class="style20">Username </span></td> 
      <td><input name="username" id="username" type="text"></td> 
     <td><span id="usernameerror" class="style20">&nbsp;</span></td> 
     </tr> 
     <tr> 
      <td><span class="style20">Old Password</span></td> 
      <td><input name="pass" id="pass" type="password"></td> 
     <td><span id="pwderror" class="style20">&nbsp;</span></td> 
     </tr> 
     <tr> 
      <td><span class="style20">New Password</span></td> 
      <td><input name="pass1" id="pass1" type="password"></td> 
     <td><span id="pwd1error" class="style20">&nbsp;</span></td> 
     </tr> 
     <tr> 
      <td><span class="style20">Repeat New Password</span></td> 
      <td><input name="pass2" id="pass2" type="password"></td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td><input type="submit" name="Submit" value="Submit"> 
      <input type="reset" name="reset" value="Reset"></td> 
     </tr> 
     </table> 
</form> 
+0

Да, это работа, есть еще одна проблема, связанная с тем, что ошибка meesage скрывает содержимое формы. Как управлять положением сообщения об ошибке? – newbie

+0

wew ...! что просто сделайте непригодную для использования новую таблицу ... – newbie

+0

какой стол вы имели в виду? – Amro

Смежные вопросы