Je construis un site qui utilise le plugin de validation de jQuery et souhaite que les choses soient validées avant de soumettre le formulaire. Mon code ressemble suitLe fait de taper enter dans n'importe quelle zone de texte en chrome déclenche le formulaire submit, même s'il n'y a pas de bouton submit
<form>
<input type="button" value="Submit the Form" onclick="validateAndSubmit()" />
</form>
<script language="javascript">
function validateAndSubmit(){
//do some validation and then submit
}
</script>
Dans Firefox, cela fonctionne parfaitement. Dans Chrome, lorsque j'appuie sur Entrée, n'importe où dans la page, le formulaire de soumission est déclenché et la validation ne fonctionne pas non plus. Y at-il quelque chose à éviter? Le navigateur ne doit-il pas soumettre un formulaire lorsque nous tapons une entrée s'il n'y a pas de bouton de soumission?
vous les utilisateurs ne vont pas apprécier votre page comportement en ajoutant après avoir chargé s'ils ont déjà soumis le formulaire avant le chargement de la page et a manqué la fonctionnalité JavaScript utile. –
@Tim Down - Je sais que c'est un point de sémantique, mais la seule raison pour laquelle ils ne l'apprécieront pas, c'est parce qu'ils ne le sauront jamais. Cependant, il semble que vous utilisiez 'window.onload' à la place des fonctions DOMReady, ce qui est la vraie source du problème de devoir attendre le chargement de la page. (C'est-à-dire, à moins que la connexion de l'utilisateur soit si lente qu'elle ne puisse même pas télécharger le script avant de remplir un formulaire complet, auquel cas l'intégration directe du Javascript aggravera le problème.) – Matchu
I utilisez 'DOMContentLoaded' si disponible. Je n'insiste pas sur l'idée que l'utilisation d'attributs de gestionnaires d'événements est toujours pire qu'attribuer des gestionnaires d'événements une fois le document chargé. –