Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

validation form in table mode with javascript

i made my form in table mode like this:

<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>

and this my validation code with javascript. check it out..

<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>

When i use this validation in usually form its work But in table mode that's validation code doesn't work..help me to solve this problem...tq

view demo http://jsfiddle.net/andricoga/u9eZz/

like image 934
newbie Avatar asked Oct 21 '22 14:10

newbie


2 Answers

You have declared onSubmit="return validasi()" in form , but where you defined function for that. for validation working you need to define function for that.

function validasi(){
   // validation code goes here
}
like image 55
Devang Rathod Avatar answered Oct 28 '22 19:10

Devang Rathod


In your validatePwd() function replace

eobj1.innerHTML = error;

with

eobj.innerHTML = error;

you have not defined this eobj1 object and hence it is causing a run time javascript error.

like image 27
Aamir Syed Avatar answered Oct 28 '22 21:10

Aamir Syed