J'ai un formulaire dont je souhaiterais verifier le contenu avant de l'envoyer. J'appelle une fonction verif() dans le onsubmit de la balise form.
Avec IE et Opera, ça fonctionne. Par contre, avec les autres navigateurs, la fonction est bien exécutée (les champs non remplis sont marqués en rouge par la fonction) mais le formulaire est quand même envoyé.
Appel de la fonction :
<form id="frmDevis1" method="post" action="devis-2.htm" onsubmit="javascript:return verif (this);">
Fonction verif :
function verif (frm) {
document.getElementById ('Message').innerText = '';
var envoi = true;
if (!verifNom (frm.nom)) envoi = false;
if (!verifNom (frm.prenom)) envoi = false;
if (!verifTel (frm.tel)) envoi = false;
if (!verifTel (frm.portable)) envoi = false;
if (!verifTel (frm.fax)) envoi = false;
if (!verifMail (frm.mail)) envoi = false;
return envoi;
}
Les fonctions verifNom, verifTel et verifMail retournent true ou false en fonction du résultat de la vérification.
J'ai essayé de remplacer return envoi par return false mais ça ne change rien.
Le problème était effectivment ailleurs. Une des fonctions appellées vérifie des boutons radio et il y avait une erreur dans le test. Du coup je me demande pourquoi ça fonctionnait quand même avec certains navigateurs...
ça fonctionne avec tous,
à mon avis ton erreur est ailleurs !
( par exemple :
peut-être n'utilises tu pas le bouton submit ?
et tu fais un frm.submit ?
dans ce cas, le onsubmit n'est pas exécuté
mais avec tous les navigateurs je pense, donc j'essuie )