IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Verification de champs d'un mail sous firefox


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 228
    Points : 101
    Points
    101
    Par défaut Verification de champs d'un mail sous firefox
    Bonjour a tous j'ai utiliser un generateur de formulaire en ligne.

    C'est un formulaire ou les verification de champs et d'email se fait en javascript.

    Mon probleme est que sous ie le script fait bien son boulot, alors que sous firefox meme si nous ne remplissons rien sur le formulaire un mail vide est quand meme envoyer avec le message de confirmation.

    Voila le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
     
    function verifSelection() {if (mail_form.champ1.value == "") {
    alert("merci d'indiquer votre nom")
    return false
    } if (mail_form.champ2.value == "") {
    alert("merci d'indiquer votre prenom")
    return false
    } if (mail_form.champ3.value == "") {
    alert("Merci d'indiquer votre region")
    return false
    } if (mail_form.zone_email.value == "") {
    alert("Merci d'indiquer votre email")
    return false
    }
     
    invalidChars = " /:,;'"
     
    for (i=0; i<invalidChars.length; i++) {	// does it contain any invalid characters?
    badChar = invalidChars.charAt(i)
     
    if (mail_form.zone_email.value.indexOf(badChar,0) > -1) {
    alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
    mail_form.zone_email.focus()
    return false
    }
    }
     
    atPos = mail_form.zone_email.value.indexOf("@",1)			// there must be one "@" symbol
    if (atPos == -1) {
    alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
    mail_form.zone_email.focus()
    return false
    }
     
    if (mail_form.zone_email.value.indexOf("@",atPos+1) != -1) {	// and only one "@" symbol
    alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
    mail_form.zone_email.focus()
    return false
    }
     
    periodPos = mail_form.zone_email.value.indexOf(".",atPos)
     
    if (periodPos == -1) {					// and at least one "." after the "@"
    alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
    mail_form.zone_email.focus()
    return false
    }
     
    if (periodPos+3 > mail_form.zone_email.value.length)	{		// must be at least 2 characters after the 
    alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
    mail_form.zone_email.focus()
    return false
    }if (mail_form.zone_texte.value == "") {
    alert("merci d'indiquer un resumer de votre projet")
    return false
    } }
    //-->
    </script>
    </head>
     
    <body onload="MM_preloadImages('images/head/navigation/accueil_over.jpg','images/head/navigation/galleries_over.jpg','images/head/navigation/biographie_over.jpg','images/head/navigation/tchat_over.jpg','images/head/navigation/contacter_over.jpg','images/head/navigation/condition_over.jpg')">
    	<div id="conteneur">
    		<div id="header">
    			<div class="menu">
    				<ul class="navigation">
    					<li><a href="index.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('accueil','','images/head/navigation/accueil_over.jpg',1)"><img src="images/head/navigation/accueil.jpg" alt="accueil" name="accueil" width="142" height="23" border="0" id="accueil" /></a></li>
    					<li><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('gallerie','','images/head/navigation/galleries_over.jpg',1)"><img src="images/head/navigation/galleries.jpg" alt="gallerie" name="gallerie" width="142" height="21" border="0" id="gallerie" /></a></li>
    					<li><a href="biographie.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('biographie','','images/head/navigation/biographie_over.jpg',1)"><img src="images/head/navigation/biographie.jpg" alt="biographie" name="biographie" width="142" height="23" border="0" id="biographie" /></a></li>
    				</ul>
    		  </div>
    			<div id="logo">
    				<a href="#"><img src="images/head/logo.jpg" alt="logo fraises des bois" /></a><img src="images/head/img_book.jpg" alt="accroche" />
    			</div>
    			<div class="menu">
    				<ul class="navigation">
    					<li><a href="tchat/index.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('tchat','','images/head/navigation/tchat_over.jpg',1)"><img src="images/head/navigation/tchat.jpg" alt="tchat" name="tchat" width="142" height="23" border="0" id="tchat" /></a></li>
    					<li><a href="conditions.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('conditions','','images/head/navigation/condition_over.jpg',1)"><img src="images/head/navigation/condition.jpg" alt="conditions" name="conditions" width="142" height="21" border="0" id="conditions" /></a></li>
    					<li><a href="contact.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('contacter','','images/head/navigation/contacter_over.jpg',1)"><img src="images/head/navigation/contacter.jpg" alt="contacter" name="contacter" width="142" height="23" border="0" id="contacter" /></a></li>
    				</ul>
    		  	</div>
     
    		</div>
    		<div id="cadre_princ">
    			<form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()" class="formulaire_contact">
    				<p align="center">
    				<?php
                                    if ($message_remerciement) {
                                    echo("<font face=Verdana size=2>");
                                    echo(stripslashes($message_remerciement));
                                    echo("</p></body></html>");
                                    exit();
                                    }
                                    ?>
    				</p>			
    <fieldset>
    					<legend>Vous concernant</legend>
    					<div><label>Votre nom :</label><input type="text" name="champ1" /></div>
    					<div><label>Votre Prenom :</label><input type="text" name="champ2" /></div>
    					<div><label>Votre region :</label><input type="text" name="champ3" /></div>
    					<div><label>Votre Email :</label><input type="text" name="zone_email" /></div>
    				</fieldset>
     
    				<fieldset>
    					<legend>En ce qui me concerne</legend>
    					<div><label>Remuneration :</label><input type="text" name="champ4" /></div>
    					<div><label>résumer de votre projet :</label><textarea rows="5" cols="50" name="zone_texte"></textarea></div>
    					<div><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="4">
    						<input name="nbre_zones_texte" type="hidden" value="1">
    						<input name="nbre_zone_email" type="hidden" value="1">
    						<input name="titre_champ1" type="hidden" value="votre nom">
    						<input name="titre_champ2" type="hidden" value="votre prenom">
    						<input name="titre_champ3" type="hidden" value="votre region">
    						<input name="titre_champ4" type="hidden" value="remuneration">
    						<input name="titre_email" type="hidden" value="Votre email">
    						<input name="titre_zone" type="hidden" value="Votre projet">
    					</div>
    				</fieldset>
    				<div style="text-align:center"><input type="submit" name="envoi" value="Envoyer"></div>
    			</form>
    		</div>
     
    		<div id="copyright">
    	  		Tonsitepro.com © 2008 - Tous droits réservés
    		</div>
    	</div>
     
     
     
    </body>
    De mon coter je n'arrive pas a comprendre pourquoic ela ne fonctionne pas sous firefox, mais bon en meme temps je ne suis pas developpeur.

    Pouvez vous m'aider?

    Merci par avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Peut être avec une syntaxe un peu plus rigoureuse ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['mail_form'].elements['champ1'].value == ""

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 228
    Points : 101
    Points
    101
    Par défaut
    Merci a toi pour cette solution qui semble fonctionner cependat la partie concernant la vérification de l'email ne fonctione toujours pas sous firefox, je me permet de poser mon code refait ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    function verifSelection() {if (document.forms['mail_form'].elements['champ1'].value == "") {
    alert("merci d'indiquer votre nom")
    return false
    } if (document.forms['mail_form'].elements['champ2'].value == "") {
    alert("merci d'indiquer votre prenom")
    return false
    } if (document.forms['mail_form'].elements['champ3'].value == "") {
    alert("Merci d'indiquer votre region")
    return false
    } if (document.forms['mail_form'].elements['zone_email'].value == "") {
    alert("Merci d'indiquer votre email")
    return false
    }
     
    invalidChars = " /:,;'"
     
    for (i=0; i<invalidChars.length; i++) {	// does it contain any invalid characters?
    badChar = invalidChars.charAt(i)
     
    if (mail_form.zone_email.value.indexOf(badChar,0) > -1) {
    alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
    mail_form.zone_email.focus()
    return false
    }
    }
     
    atPos = mail_form.zone_email.value.indexOf("@",1)			// there must be one "@" symbol
    if (atPos == -1) {
    alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
    mail_form.zone_email.focus()
    return false
    }
     
    if (mail_form.zone_email.value.indexOf("@",atPos+1) != -1) {	// and only one "@" symbol
    alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
    mail_form.zone_email.focus()
    return false
    }
     
    periodPos = mail_form.zone_email.value.indexOf(".",atPos)
     
    if (periodPos == -1) {					// and at least one "." after the "@"
    alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
    mail_form.zone_email.focus()
    return false
    }
     
    if (periodPos+3 > mail_form.zone_email.value.length)	{		// must be at least 2 characters after the 
    alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
    mail_form.zone_email.focus()
    return false
    }if (document.forms['mail_form'].elements['zone_texte'].value == "") {
    alert("merci d'indiquer un resumer de votre projet")
    return false
    } }
    //-->
    </script>
    Je pense que c'est encore un problème de syntaxe mais je n'ai pas du tout les capacités de trouver commet la refaire.

    Merci par avance de ton aide

Discussions similaires

  1. champ .document existant sous IE, pas sous Firefox
    Par franklin626 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 05/08/2010, 13h45
  2. Réponses: 2
    Dernier message: 29/01/2007, 19h34
  3. [Mail] verification remplissage champs livre d'or
    Par alexp dans le forum Langage
    Réponses: 3
    Dernier message: 21/08/2006, 21h00
  4. Verif de formulaire tourne sous IE pas sous FireFox
    Par Hakim_Bey dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 20/07/2006, 10h28
  5. Verif de formulaire tourne sous IE pas sous FireFox
    Par Hakim_Bey dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/07/2006, 19h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo