未捕获的TypeError:对象不是onkeyup上的函数

时间:2013-06-26 11:44:29

标签: javascript codeigniter

我几乎不是js的新手,但不是php-html网页编程,但我对js的使用感到困惑。
我正在使用这个js函数来比较两个输入(密码检查),
这是小提琴 http://jsfiddle.net/EHUWC/1/

那里没有错,对吧? 但它不适用于我自己的网页,
这是我的代码(即使用codeigniter):

 <div class="centerTitle">Sign Up Form</div>
 <script>
  function chkpassword() {
   var p1 = document.getElementById("pass1").value;
   var p2 = document.getElementById("pass2").value;
   if (p1.length > 5) {
    document.getElementById("passwordAlert").style.display = 'none';
    if (p1 === p2) {
     document.getElementById("passwordAlert").style.display = 'none';
     validpass = "yes";
    } else {
      validpass = "no";
      document.getElementById("passwordAlert").style.display = 'block';
      document.getElementById("passwordAlert").innerHTML = ":( Both passwords must match.";
    }
   } else {
    document.getElementById("passwordAlert").style.display = 'block';
    document.getElementById("passwordAlert").innerHTML = ":( The password must be at least 6 characters long.";
   }
 }
 </script>
 <?php $attributes = array('name' => 'Form1','onsubmit' => 'return validate()');
     echo form_open("visitor/confirm", $attributes);?>
 <table>
 <tr class='signup'>
  <td class='signup1'>Password*</td>
  <td class='signup2'>:</td>
  <td class='signup3'>
   <input id="pass1" onkeyup="chkpassword()" class="signup" type="password" value="" maxlength="20" name="password" />
  </td>
 </tr>
<tr class='signup'>
    <td class='signup1'>Confirm Password*</td>
    <td class='signup2'>:</td>
    <td class='signup3'>
        <input id="pass2" onkeyup="chkpassword()" class="signup" type="password" value="" maxlength="20" name="chkpassword" />
        <div id="passwordAlert"></div>
    </td>
</tr>
</table>
<input type="submit" value="Daftar">
<?php echo form_close();?>

(我没有通过这个观点)
如果我在密码输入上犯了错误,div就不会出来了 然后,如果我检查元素并在chrome上查看控制台,则表示onkeyup得到Uncaught TypeError: Object is not a function错误
我错过了什么? 为什么它在jsfiddle上运行时还可以?

1 个答案:

答案 0 :(得分:0)

我更改了确认密码名称(chkpassword),因为它与js函数名称相同。

<input id="pass2" onkeyup="chkpassword()" class="signup" type="password" value="" maxlength="20" name="chkpassword" />
<input id="pass2" onkeyup="chkpassword()" class="signup" type="password" value="" maxlength="20" name="chkpasswordx" />

归功于@ Sumurai8