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 :

Affichage champ de formulaire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Par défaut Affichage champ de formulaire
    Bonjour tout le monde tout d'abord,

    Je suis en train de créer un formulaire d'inscription, tout est fait (regex...) sauf que j'ai envie d'afficher des champs de formulaires html avec javascript (alert). Le problème est que j'ai tout essayé : alert(champFormulaire) ou alert("champFormulaire") ou même les simples quotes... Bref pétage de boulons un petit quand même. Je dois faire quelque chose de mal à mon avis et c'est pour cela que j'en remets à vous.

    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
    script type="text/javascript"> 
    function verification()
    {
       var inputList =                                document.forms["formInscription"].elements;
       var alertTxt = "";
     
       var erreur = false;
     
       for (var i = 0; i <= inputList.length; i++)
       {
          alert('ca marche');
     
          if (inputList[i].type=="text" && inputList[i].value == "")
          {
    	 alertTxt += 'Le champ ' + inputList[i].name + ' n\'a pas été rempli \n';
          }
          else erreur = true;
       }
     
       alert(alertTxt);
     
       return true;
    }
    Le alert de "ca marche" fonctionne donc on rentre bien dans la boucle. Le gros soucis est que je n'arrive pas à accéder aux champs du formulaire "formInscription" tout simplement.

    Le formulaire :

    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
     
    <form id="formInscription" action="formsInscription.php" method="post" onSubmit="return verification()" >
     
       <fieldset>
    	<legend><font color="#ff7300"> Vos coordonnées </font></legend> <!-- Titre du fieldset -->
     
    	<br />
     
    	<div style="background-color:beige">
    	<label for="nom"><strong>Nom* :</strong></label><input type="text" name="nom" /> <br />
    	<label for="prenom"><strong>Prénom* :</strong></label><input type="text" name="prenom" /><br />
    	<label for="adresse"><strong>Adresse* :</strong></label><input type="text" name="adresse" /><br />
    	<label for="codeP"><strong>Code postal* :</strong></label><input type="text" name="CP" /><br />
    	<label for="ville"><strong>Ville* :</strong></label><input type="text" name="ville" /><br />
    	<label for="pays"><strong>Pays* :</strong></label><input type="text" name="pays" /><br />
    	<label for="email"><strong>Email* :</strong></label><input type="text" name="email" /><br /> <br />
     
    	<strong>* Champs obligatoires</strong> <br /> <br />
     
    	<input type="submit" value="Valider le formulaire d'inscription" /> <br /><br />
     
         </fieldset>
     
         <br />
     
    </form>
    Je vous remercie beaucoup d'avance pour votre aide

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    essaye en remplaçant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var inputList =  document.forms["formInscription"].elements;
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var inputList =  document.getElementById("formInscription").getElementsByTagName("input");

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Par défaut
    Citation Envoyé par Auteur Voir le message
    bonjour,

    essaye en remplaçant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var inputList =  document.forms["formInscription"].elements;
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var inputList =  document.getElementById("formInscription").getElementsByTagName("input");
    Cela ne m'affiche que "ça marche" rien d'autre. A croire que l'alert à la fin n'est pas reconnu.

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    en effet c'est curieux

    Le test contenu dans la boucle fonctionne, j'ai tout vérifié. Il semblerait que le formulaire soit envoyé dès que la boucle se termine.


    Personnellement je n'aime pas ce genre d'écriture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.formInscription.nom.
    je préfère utiliser l'attribut id que name

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Par défaut
    Citation Envoyé par Auteur Voir le message
    en effet c'est curieux

    Le test contenu dans la boucle fonctionne, j'ai tout vérifié. Il semblerait que le formulaire soit envoyé dès que la boucle se termine.
    Tout à fait d'accord, la balle de fusil sera pour après quoique je n'ai pas d'arme chez moi mdr

    Même avec ça rien ne s'affiche alors que c'était la solution d'un des forumeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (document.formInscription.nom) { alert('Le champ nom existe'); }
    Le lien de l'autre post :

    http://www.developpez.net/forums/d23...champs-existe/

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Par défaut
    Citation Envoyé par Auteur Voir le message
    en effet c'est curieux

    Le test contenu dans la boucle fonctionne, j'ai tout vérifié. Il semblerait que le formulaire soit envoyé dès que la boucle se termine.


    Personnellement je n'aime pas ce genre d'écriture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.formInscription.nom.
    je préfère utiliser l'attribut id que name
    Sans être curieux , comment as-tu vérifié que la boucle fonctionnait?
    Tu as réussi à afficher quelque chose suite au test if?

  7. #7
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    j'ai simplement remplacé ton alert("ça marche") par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(inputList[i].type);
    => affiche bien "text"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(inputList[i].value);
    => affiche bien le contenu des input
    => on a bien un message

    et pour vérifier si le test est vrai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(inputList[i].type=="text" && inputList[i].value == "");
    Pour le test je cliquais sur "envoyer" sans remplir le formulaire

    J'ai placé ces alert() dans la boucle. Mais une fois sorti de la boucle plus rien et la page se recharge.

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 31
    Par défaut
    Simplement

    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
    <script type="text/javascript"> 
    function verification()
    {
    	//on met les elements du formulaire dans une variable
    	var inputList = document.forms["formInscription"].elements;
    	//variable - gestion erreur -
    	var alertTxt = "";
    	var erreur = false;
    	//boucle de parcourt du tableau inputList
    	for (var i = 1; i < inputList.length-1; i++){
    			if ((inputList[i].type=="text") && (inputList[i].value == ""))	{
    				alertTxt += 'Le champ ' + inputList[i].name + ' n\'a pas été rempli \n';
    			}else{
    				erreur = true;
    			}
    	}
       alert(alertTxt);
       return true;
    }
    </script>
    (fonctionnel)

  9. #9
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Par défaut
    Même avec cela rien ne s'affiche :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(document.formInscription.nom.value=='')
    {
       alert('Le champ NOM ne peut pas rester vide !');
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/03/2011, 14h11
  2. Affichage champ dynamique formulaire
    Par jjouc dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 21/09/2010, 11h11
  3. [MySQL] affichage requête dans simple champ texte formulaire
    Par romeskira dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/10/2008, 10h50
  4. Affichage if champ sous formulaire vrai
    Par BAYRAL dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/07/2007, 11h14
  5. Affichage de nouveau champ de formulaire avec une case à cocher
    Par breizhgen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/09/2006, 21h46

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