Probleme de soumission avec type=button

loloajax

Membre enregistré
17 Mai 2006
4
0
Bonjour,

Voici à peu de choses près mon code :
<form action="/" method="post" id="form">

<input type="text" size="10" name="test" id="test" />

<input type="button" onclick="verify()" value="OK" />

</form>



<script type="text/javascript">

function verify(){

if (document.getElementById('test') != "")

document.getElementById('form').submit();

}

</script>
Sous Safari, si l'utilsateur appuye sur la touche Entrée, le formulaire est quand même envoyé...
J'ai même essayé de mettre l'evenement onsubmit="verify()" dans la balise <form> mais rien n'y fait.

Comment empêché la validation du formulaire avec la touche Entrée ?

Merci pour votre aide
 
function verify(){

if (document.getElementById('test').value != "")
document.getElementById('form').submit();
}
}
 
Ooups... J'avais oublié en recopiant de mettre ".value" mais il est bien présent dans mon code.

Personne n'a jamais rencontré ce problème de validation automatique de formulaire sous Safari ? Il semble réellement que la balise <form> dans le code HTML donne accès à la validation même si aucun bouton de type "submit" n'est présent.
 
J'ai pas Safari sous la main, essaye ça :

function verify(){

if (document.getElementById('test').value != "")
document.getElementById('form').submit();
}else{
return false;
}
}
 
Idem.

Le navigateur interprète bien la fonction javascript (j'ai mis le background du texte en rouge si il n'est pas rempli) mais il poste quand même le formulaire malgré le "return false".
Curieux aussi : même si on ne met aucun bouton (de type "button" ou "submit") et que l'on ne laisse que les champs textes, le formulaire est validé avec la touche Entrée...
 
Tu peux tenter ce genre de saleté alors :

<form onSubmit="return verify()">
...
 
Apperemment ce genre d'instruction suffit (ca bloque la touche entrée) :

<form onsubmit="return false;">

Pas joli joli mais ça a l'air de fonctionner...

Merci beaucoup en tous cas
 
Ca, ca bloquera toute tentative de soumission de ton formulaire, que ce soit en appuyant sur entrée ou sur un bouton de type submit.
C'est un peu violent :siffle:
 
Selon moi, input type="submit" réagit indifféremment à la touche entrée et au clic sur le bouton valider. ex : ici.
input type="button" ne réagit qu'au clic de la souris sur le bouton. ex . Dans ce dernier cas, la touche entrée provoque l'effacement du contenu du champ. Si je n'ai pas utilisé là le type submit c'est tout simplement parce qu'il y a là deux champs à remplir, la touche entrée ne sait sur quelle réponse elle doit agir.