javascript - 使用javascript在表格模式下验证表单

标签 javascript forms input validation

我在表格模式下制作了表格 像这样:

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

当我在通常情况下使用此验证时,它的工作形式但是在表格模式下,验证代码不起作用..帮助我解决这个问题... tq

查看演示 http://jsfiddle.net/andricoga/u9eZz/

最佳答案

您已经在 form 中声明了 onSubmit="return validasi()" ,但是您在其中定义了函数。为了验证工作,您需要为此定义函数。

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

关于javascript - 使用javascript在表格模式下验证表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15469817/

相关文章:

javascript - 我无法在 Javascript 中生成平滑的 Simplex 噪声

html - 用户界面 : Multiple choice select boxes

javascript - 在不更改类名的情况下访问特定的 Div

javascript - 输入的焦点不会通过代码消失

c - 用用户输入填充数组

javascript - React-Redux 设计模式 : Should a "deep" component be wired to Redux, 或从父组件接收 props?

javascript - 带有可拖动标记和输入框的 Google map 搜索框

Android NDK 输入源

javascript - 按首字母过滤列表项

html - 在输入字段中使用 'autofocus' 时,Firefox 中无样式内容 (FOUC) 的闪烁