La forme est toujours soumis, même si l'auditeur fonction renvoie la valeur false
Je suis à essayer de comprendre pourquoi ce JavaScript ne s'arrête pas à la forme de soumis:
<form action="http://www.example.com" id="form">
<input type="text" />
<input type="submit" />
</form>
<script>
var code = function () {
return false;
};
var element = window.document.getElementById("form");
if (element.addEventListener) {
element.addEventListener("submit", code, false);
}
</script>
À moins que je ajouter ce qui suit onsubmit attribut de l'élément de formulaire:
<form action="http://www.example.com" id="form" onsubmit="return false">
<input type="text" />
<input type="submit" />
</form>
<script>
var code = function () {
return false;
};
var element = window.document.getElementById("form");
if (element.addEventListener) {
element.addEventListener("submit", code, false);
}
</script>
Semble que la méthode addEventListener seul devrait faire l'affaire. Toutes les pensées? Je suis sur un Mac et je suis en train de vivre le même résultat sur Safari, Firefox et Opera. Merci.
double possible de return false sur la méthode addEventListener soumettre encore soumet le formulaire?
OriginalL'auteur | 2009-06-08
Vous devez vous connecter pour publier un commentaire.
Combiné les informations provenant de deux très utile réponses dans une solution qui fonctionne aussi bien sur Mac et PC:
OriginalL'auteur
Ressemble si vous modifiez votre fonction pour
Il devrait faire tout ce que vous cherchez.
source
OriginalL'auteur Jacob
Je pense que ce que vous cherchez est la
preventDefault()
méthode de laEvent
interface pour les navigateurs qui implémentent. Il va annuler l'envoi du formulaire dans la façon dont vous attend "return false
".Plus ici et ici.
OriginalL'auteur artlung