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 :

Formulaire : vérification des champs et envoi


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    Points : 66
    Points
    66
    Par défaut Formulaire : vérification des champs et envoi
    Bonjour,
    Voilà, je dois créer un formulaire avec envoi de pièce-jointe en plus des infos renseignées dans les champs. Le formulaire et l'envoi fonctionnent farpaitement !
    SAUF QUE, lorsque je veux mettre un contrôle en javascript sur les champs nom, prenom et email (de manière à ce qu'ils soient obligatoires), le message d'alerte apparait mais l'envoi s'effectue quand même...
    j'ai beau mettre "return = false", le mail part même si le champ nom reste vide : moi pas comprendre !

    Voici le code de contrôle en JS:
    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
    <script language="javascript" type="text/javascript">
    function submitbutton_reg() {
    var form = document.proposer_cv;
    var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i");
    // Validation des champs
    if (form.nom.value == "") {
    alert( "<?php echo "Veuillez entrer votre Nom";?>" );
    return false;
    } else if (form.prenom.value == "") {
    alert( "<?php echo "Veuillez entrer votre Prénom";?>" );
    return false;
    } else if (form.from.value == "") {
    alert( "<?php echo "Veuillez entrer votre Email";?>" );
    return false;
    } else {
    form.submit();
    }
    }
    </script>
     
    <form method="post" enctype="multipart/form-data" action="mail4.php" name="proposer_cv">
    ....

    j'ai regardé les tutos de ce site et d'ailleurs, et tenté pas mal de manips, mais l'envoi est toujours fait.
    Pouvez-vous m'aider SVP ?
    merci d'avance

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    oui, mais elle est appelée où ta fonction submitbutton_reg() ?
    Ca ne serait pas sur le onclick du bouton submit, des fois ?

    Dans ce cas, appelle là sur le onsubmit du <form>, et remplace tonpar ... et utilise des syntaxes valides W3C, à savoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['name_du_form'].elements['name_element'].propriete;
    ou encore mieux, l'accès par les id (recommandé).
    Tu éviteras ainsi des problèmes de compatibilité ...

    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    Points : 66
    Points
    66
    Par défaut
    ça marche E.bzz, merci !

    Pour les intéressés, voici ce que ça donne
    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
    <script language="javascript" type="text/javascript">
    function submitbutton() {		
    	var form = document.proposer_cv;	
    	if (form.nom.value == "") {
    		alert( "<?php echo "Veuillez entrer votre Nom";?>" );		
    		document.proposer_cv.nom.focus(); 			
    		return false;
    	} else {				
    		form.submit();
    	}
    }
    </script>		
    <form method="post" enctype="multipart/form-data" action="mail4.php" name="proposer_cv" onsubmit="return submitbutton()">
    ...
    <input type="submit" name="button" value="Envoyer" />
    </form>

    Par contre, je ne comprends pas pour la validation W3C (que je connais pour le XHTML) mais pas pour le JS...accès par les id ? Késako ?

    ---

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Oui mais, pour respecter la logique :
    Citation Envoyé par E.Bzz Voir le message
    Il est préférable d'accéder aux éléments de la page via leur ID qui est unique.
    Pour cela, il suffit que chaque element ait un id (strictement unique, donc) et d'utiliser l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(id_element)
    Attention : JS est sensible à la casse ...

    A+

Discussions similaires

  1. Réponses: 14
    Dernier message: 20/05/2007, 16h44
  2. vérification des champs d'un formulaire avant envoi
    Par fey dans le forum Général JavaScript
    Réponses: 28
    Dernier message: 18/05/2007, 17h34
  3. [MySQL] Formulaire avec vérification des champs
    Par iwanow dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 26/01/2007, 18h38
  4. pbm vérification des champs d'un formulaire
    Par mariafan dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/12/2006, 13h35
  5. Vérification des champs d'un sous-formulaire
    Par antoine46 dans le forum Access
    Réponses: 5
    Dernier message: 10/08/2006, 11h55

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