Onsubmit qui ne fonctionne pas avec tous les navigateurs [Résolu]

Signaler
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour

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.

Quelqu'un aurait une idée?
Merci d'avance.

3 réponses

Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

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...

En tout cas merci pour ta réponse.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
10
bonjour,

javascript: est inutile dans le onsubmit
mais je ne pense pas que cela suffise à expliquer !

essaye donc :

    <script>
        function verif(frm)
        {    return (confirm("envoyer ?"));    }
    </script>
    <form id="frmDevis1" method="post"
            action="javascript:alert('envoyé');"
            onsubmit="return verif(this);">
       
    </form>
</form>

ç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 )

Cordialement

[mon Site][M'écrire]Bul
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
10
>>je me demande pourquoi ça fonctionnait quand même avec certains navigateurs
va savoir... ? ...
mais bon, si tu as trouvé et que ça baigne : nickel