2012-06-18 19 views
8

metoda onkeyup nie jest zdefiniowana, jednak metoda jest automatycznie polecana przez moje idee. Kiedy przeglądam błąd w narzędziach do Chrome, pojawia się błąd Uncaught TypeError: Object [object Object] nie ma metody "onkeyup". Używam najnowszej wersji jQuery. Tu jest mój kodu:jQuery metoda onkeyup nie zdefiniowana

<!DOCTYPE html> 
<html> 
<head> 
    <script type="text/javascript" src="jquery-1.7.2.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      $("button").click(function(){ 
       var str = document.getElementById('txt1').value; 
       $.post("addName.php", {q: str}); 
      }); 
      $("input").onkeyup(function(){ 
       var str = document.getElementById('txt1').value; 
       $.post("gethint.php", {q: str}); 
      }); 
     }); 
    </script> 
</head> 
<body> 

<h3>Start typing a name in the input field below:</h3> 
<form action=""> 
    First name: <input type="text" id="txt1"/> 
</form> 
<p>Suggestions: <span id="txtHint"></span></p> 
<button> Add Name</button> 

</body> 
</html> 

Odpowiedz

13
$("input").on('keyup', function(){ 
    var str = document.getElementById('txt1').value; 
    $.post("gethint.php", {q: str}); 
}); 

lub

$("input").keyup(function(){ 
    var str = document.getElementById('txt1').value; 
    $.post("gethint.php", {q: str}); 
}); 

jQuery ma nazwę metody onkeyup

Więcej o .keyup() i .on()

+0

Dziękuję. To rozwiązało problem. Używam poprawnie $ .post, prawda? Ponieważ teraz, gdy zdarzenie jest uruchamiane, nie sądzę, że skrypt wciąż jest uruchamiany:/Wiem to, ponieważ echa, które mam na górze pliku, nigdy nie są wyprowadzane. – Julian

+0

Zastanawiasz się, dlaczego chcesz użyć: var str = document.getElementById ('txt1'). Wartość; zamiast: var str = $ ('# txt1'). Val(); Ponieważ używasz Jquery – Sunjalo

0

zamiast onkeyup użycie keyup

$("input").keyup(function(){ 
       var str = document.getElementById('txt1').value; 
       $.post("gethint.php", {q: str}); 
      }); 
0

Sposób onkeyup nie istnieje, pojawi się komunikat o błędzie wyraźnie mówi "onkeyup method not defined". Powinien to być tylko keyup.

$("input").keyup(function() { 
    //Your code 
});