2012-06-18 25 views
8

il metodo onkeyup è presumibilmente non definito, tuttavia, il metodo è auto-raccomandato dal mio ide. Quando visualizzo l'errore negli strumenti di chrome dev ricevo l'errore Uncaught TypeError: Object [object Object] non ha alcun metodo 'onkeyup'. Sto usando l'ultima versione di jQuery. Qui è il mio codice:jQuery metodo onkeyup non definito

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

risposta

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

o

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

jQuery non ha nome metodo onkeyup

Leggi di più riguardo .keyup() e .on()

+0

Grazie. Questo ha risolto il problema. Sto usando $ .post correttamente, giusto? Perché ora che l'evento viene attivato, non penso che lo script sia ancora in esecuzione: lo so perché gli echi che ho in cima al file non vengono mai emessi. – Julian

+0

Ci chiediamo semplicemente perché dovresti usare: var str = document.getElementById ('txt1'). Value; anziché: var str = $ ('# txt1'). Val(); Poiché si utilizza Jquery – Sunjalo

1

Il metodo è:

$("input").keyup(function() { 
}) 
0

invece di utilizzo onkeyup keyup

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

Il metodo onkeyup non esiste, il messaggio di errore dice chiaramente "onkeyup method not defined". Dovrebbe essere solo keyup.

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