2013-04-01 4 views
0

J'essaie de déclencher le gestionnaire de soumission dans jQuery, mais il va à la page d'action lors de la soumission. Qu'est-ce que je fais mal?Déclenchement du gestionnaire de soumission avec jQuery

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <script src="http://code.jquery.com/jquery-latest.min.js"></script> 
</head> 
<body> 
<script> 
$('#target').submit(function() { 
    alert('Handler for .submit() called.'); 
    return false; 
}); 
</script> 
<form id="target" action="destination.html"> 
    <input type="text" value="Hello there" /> 
    <input type="submit" value="Go" /> 
</form> 
<div id="other"> 
    Trigger the handler 
</div> 
</body> 
</html> 

Répondre

1

Essayez:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <script src="http://code.jquery.com/jquery-latest.min.js"></script> 
</head> 
<body> 
<script> 
$(function() { 
    $('#target').submit(function() { 
     alert('Handler for .submit() called.'); 
     return false; 
    }); 
}); 
</script> 
<form id="target" action="destination.html"> 
    <input type="text" value="Hello there" /> 
    <input type="submit" value="Go" /> 
</form> 
<div id="other"> 
    Trigger the handler 
</div> 
</body> 
</html> 
0

Deux changements ... un, enveloppent votre code dans un onready, et deux, ajoutez un preventDefault:

$(function() { 
    $('#target').submit(function(event) { 
     event.preventDefault(); 
     alert('Handler for .submit() called.'); 
     return false; 
    }); 
}); 

Plus d'info: http://api.jquery.com/event.preventDefault/

+0

Je crois 'return false '; fait la même chose que' event.preventDefault(); '. Je préfère utiliser 'event.preventDefault()' sur 'return false;'. – spullen

+0

Ah, oui, je pensais aux gestionnaires d'événements normaux (non-jQuery). – Adrian

Questions connexes