Onsubmit qui ne fonctionne pas avec tous les navigateurs

Résolu
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014 - 2 mars 2009 à 15:02
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 2 mars 2009 à 16:09
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

cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
2 mars 2009 à 16:04
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.
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
2 mars 2009 à 15:50
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
2 mars 2009 à 16:09
>>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
0
Rejoignez-nous