Ik wil wanneer er op enter wordt gedrukt dat de waarde wordt verwerkt in een SQL query.
Alleen wanneer ik op enter klik dan wordt heel mijn JQUERY niet getrickerd, weet iemand waarom?

Voor het voorbeeld heb ik even een window.location gedaan om te testen:

<form name="certificaat-zoeken" id="certificaat-zoeken" method="post" action="/Certificaten">
<input type="text" name="zoeken" id="zoeken" placeholder="Zoeken ...">
</form>

JQUERY in andere file:

$('#zoeken').keypress(function(event){
   window.location = "http://www.stackoverflow.com";
});
Je hebt wel de jQuery-library ingeladen en geinitialiseerd zoals gebruikelijk is?



$( document ).ready(function() {
    // Jouw code!
});
Op enter wordt een formulier verzonden. Dit kun je voorkomen door het default gedrag uit te zetten:

[code lang=js]$('#zoeken').keypress(function(event){
event.preventDefault();

window.location = "http://www.stackoverflow.com";;
});[/code]

Maar als je alleen enter wilt afvangen, dan is het wellicht beter om te luisteren naar het "submit" event van het formulier:

[code lang=js]$('#certifaat-zoeken').submit(function (event) {
event.preventDefault();

// ...
});[/code]
Als je iemand op deze manier echt redirect ben je je formuliergegevens ook kwijt. Ik neem aan dat het inderdaad de bedoeling is dat de formulier-submit wordt afgevangen en je een AJAX-request doet naar een script ofzo?
Dan zou de 'action' leeggelaten moeten worden.
Iedereen bedankt voor de reacties.

@ -Aar-: Ik heb de JQuery library zeker ingeladen want ik gebruik meer JQuery in me website.

@ Wouter J: Ik heb geen submit button want ik wil dat het formulier wordt verzonden wanneer er op enter wordt geklikt, is dat mijn probleem?

@ Thomas: De window.location is alleen voor test zodat ik weet dat mijn enter on keypress werkt. Uit eindelijk komt er een SQL Query aan vast via een AJAX request, ja zeker.

@ PHP Maarten: Ik heb action al leeggelaten want die bracht me naar een andere pagina en ik werk vanuit een JQuery pop box.
Is dit wat je zoekt,


$('#zoeken').keypress(function(event){
    var key = event.keyCode;
    
    if(key === 13){
        alert("Er is op enter gedrukt");
    }
});
Ik kan mij vergissen, maar als je in een tekstveld van een formulier typt en de enter-toets indrukt, wordt je formulier gesubmit, dit is standaard gedrag.

Omdat je alleen de verwerking (het afhandelen, het verzenden - hoe je het wilt noemen) van het formulier wilt afvangen, lijkt mij de tweede snippet van Wouter J de oplossing voor jou.

Reageren