2009-04-20 7 views
0

J'ai lié une fonction JavaScript au bouton de soumission d'un formulaire, provoquant l'envoi du formulaire via une requête xhrPost (en utilisant Dojo). Cependant, lorsque l'utilisateur clique sur "Entrée" dans Safari, le formulaire est soumis comme d'habitude.Safari: Soumettre le formulaire en utilisant xhrPost lorsque la touche Entrée est enfoncée

Est-il possible d'empêcher Safari de soumettre le formulaire lorsque la touche Entrée est enfoncée? Puis-je en quelque sorte lier ma fonction JavaScript à la touche Entrée?

Merci beaucoup d'avance!

--Andreas

Répondre

0

Cela passe probablement en raison d'une erreur dans le code du gestionnaire de soumission - Safari soumettre le formulaire comme d'habitude s'il y a une exception là. Vérifiez si la console Safari montre des erreurs.

J'ai également eu un problème similaire une fois lorsque les éléments <input> étaient en dehors de la balise <form>. Double vérifier cela aussi, peut-être.

0

Comment j'ai résolu ce problème était de désactiver la touche 'Entrée'. Pas très élégant, et toujours à la recherche d'une meilleure approche.

$('form').keypress(function (e){ if((e.which==13){ return false; }});

1

Retournez-vous la valeur de false du gestionnaire onsubmit? C'est tout ce qui devrait être requis pour empêcher la soumission normale du formulaire (à condition que Javascript soit activé).