2013-06-26 6 views
0

Я едва знаком с js, но не с веб-программированием php-html, но я смутил использование js.
Я использовал эту функцию JS, чтобы сравнить два входа (проверки пароля),
вот скрипку
http://jsfiddle.net/EHUWC/1/Uncaught TypeError: Object не является функцией onkeyup

Ничего не случилось там, верно?
, но он не будет работать на моей странице,
вот мой код (им с помощью 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 не выйдет
тогда, если я осмотрю элемент и посмотрю на консоль на хроме, он сказал, что onkeyup получает Uncaught TypeError: Object is not a function ошибка
что я пропустил?
Почему это было нормально, когда он работает на jsfiddle?

+0

Почему JQuery тег? – hjpotter92

+0

ошибка означает, что вы пытаетесь сделать это: onkeyup(), а onkeyup - это свойство, которое должно использоваться следующим образом: .onkeyup = function() {} – rusln

+0

@ hjpotter92 eddited! Прости. ; –

ответ

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