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 :

Forcer a remplir un Champ


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut Forcer a remplir un Champ
    Bonjour a tous voila pour mon projet universitaire j'ai choisi de creer un site web et comme souvent on bloque sur quelque chose

    Donc voila je bloque sur une page qui ressemble a ca



    donc j'ai su faire un script pour forcer l'utilisateur a choisir une journée mais quand je le fais pour les match ( locaux - visiteurs ) il ne me prend que la premiere ligne comment faire pour que tout les match soit pris en compte

    merci d'avance

    Voila ma page php:

    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
    //Creation d'une liste deroulante avec les Locaux
     
    echo("<form name='frm_ajout' method='POST' action='ajout_match.php' onSubmit='var resultats = ChampsObligatoiresMatch(); return resultats;' ");
    echo("<br>");
    echo("<select name='slct_journee' id='jour'>");
    echo("<option value='' selected>Choississez Une Journée</option>");
    for($i=1;$i<27;$i++){
     
    echo("<option value='$i'>" .$i. "eme Journée</option>");
    }
    echo("</select><br><br>");	
     
    for($i=0;$i<7;$i++){
     
    	echo("<select name='locaux1[]' id='locaux'>");
    	echo("<option selected='selected' value=''>Locaux</option>");
     
    	$result = mysql_query("SELECT club FROM classement");
    	while ($row = mysql_fetch_array($result)){
     
    	$club = $row["club"];
     
    	echo("<option value='$club'>$club</option>");
     
    	}
     
    	echo("</select>");
     
     
           //Creation d'une liste deroulante avec les Visiteurs
    	echo(" - ");
    	echo("<select name='visiteurs1[]' id='visiteur'>");
    	echo("<option selected='selected' value=''>Visiteurs</option>");
     
    	$result = mysql_query("SELECT club FROM classement");
    	while ($row = mysql_fetch_array($result)){
     
    	$club = $row["club"];
     
    	echo("<option value='$club'>$club</option>");
     
    	}	
    	echo("</select><br>");
     
    }
     
    //Bouton ajouter
    echo("<input type='submit' value='Ajouter'>");
    echo("</form>");
    et voila mon script :

    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
    function ChampsObligatoiresMatch()
     {
       var erreur = "";
     
     
    	if(document.getElementById("jour").value == "") 
     {
    	erreur += "Choississez une journée.\n";
      }
     
    	if(document.getElementById("locaux").value == "") 
     {
    	erreur += "Vous avez oublier de choisir une equipe local.\n";
      }
     
    	if(document.getElementById("visiteur").value == "") 
     {
    	erreur += "Vous avez oublier de choisir une equipe visiteuse.\n";
      }
     
    	if (erreur == "")
        {
           return true;
        } else {
            erreur = "Informations oublier dans le formulaire : \n" + erreur;
            alert(erreur);
            return false;
        } 
    }
    merci d'avance

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 893
    Points : 16 350
    Points
    16 350
    Par défaut
    Rien d'étonnant.

    Tu construis tes <select> avec une boucle for, seulement, tu leur donnes à tous le même id.
    Un id étant unique, ton navigateur se débrouille comme il veut quand il en voit plusieurs dans une même page.

    Quand tu auras corrigé ce problème, je te propose de regarder cette fonction pour la gestion de tous tes <select> :

    http://www.developpez.net/forums/sho...1&postcount=88

  3. #3
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    oui en fait j'ai remarqué mon erreur hier je suis d'accord que c'est logique mais etant donné que le select se fais dans la boucle comment l'id pourrai changer etant donné qu'il faut lui donné une valeur de depart

    J'avais pensé a mettre id=locaux[$i] dans la page php mais apres comment recup la valeur de $i dans le script javascript

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 893
    Points : 16 350
    Points
    16 350
    Par défaut
    Pourquoi pas tout simplement :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    '... id="locaux'.$i.'" ...

  5. #5
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    Citation Envoyé par Bisûnûrs
    Pourquoi pas tout simplement :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    '... id="locaux'.$i.'" ...
    oui mais si je fais ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for($i=0;$i<7;$i++){
    echo("<select name='locaux1[]' id=locaux'.$i'>");
    }
    id de locaux va s'incrementer mais dans ma page javascript

    si je test directement la valeur locaux1 comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	if(document.getElementById("locaux1").value == "") 
    	{
    	erreur += "Vous avez oublier de choisir une equipe local.\n";
    	}
    il me met une erreur en disant qu'un objet est requis est ce que il pourrai y avoir conflit entre le name et l'id?

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 893
    Points : 16 350
    Points
    16 350
    Par défaut
    Heu, ta ligne PHP est fausse. Si tu regardes ton code généré, tu verras que les id de tes <select> ne sont pas incrémentés comme tu l'entends.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo("<select name='locaux1[]' id='locaux".$i"'>");

  7. #7
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    effectivement ca marche deja mieu

    derniere chose pour le javascript

    j'ai mis ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    		if(document.getElementById("locaux1").value == "") 
    	{
    	erreur += "Vous avez oublier de choisir une equipe local.\n";
    	}
    donc comme ma boucle (dans le php) commence a 0 il ne s'occupe de verifier que la 2eme ligne

    peu t-on rajouter une boucle comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for(i=0;i<7;i++)
    if(document.getElementById("locaux[i]").value == "") 
    	{
    	erreur += "Vous avez oublier de choisir une equipe local.\n";
    	}}
    meme si je suppose que ya une faute vu que je pense que le [i] ne peu pas etre dans les guillement mais je ne sais pas si on peu mettre un . comme en php?

  8. #8
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 893
    Points : 16 350
    Points
    16 350
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("locaux"+i)

  9. #9
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    voila ca marche maintenant un grand merci a toi , par contre juste un dernier truc lol

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for(i=0;i<7;i++)
      {
    	if(document.getElementById("locaux"+i).value == "") 
    	{
    	erreur += "Vous avez oublier de choisir une equipe local.\n";
    	}
      }
    Je voudrai extraire le message de la boucle pour eviter qu'il ne se repete 7 fois si aucun match n'ai rempli , juste qu'il s'affiche une fois y'en a assez

  10. #10
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 893
    Points : 16 350
    Points
    16 350
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var termine = false;
    var i = 0;
    while(i < 7 && termine == false){
       if(document.getElementById("locaux"+i).value == ""){
          erreur += "Vous avez oublié de choisir une équipe locale.\n"; /* attention à l'orthographe */
          termine = true;
       }
       i++;
    }

  11. #11
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    merci beaucoup bisunurs et en plus tu corrige les fautes d'orthographe

    Merci en tous cas probleme résolu

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

Discussions similaires

  1. Intercepter un formulaire web pour y remplir des champs
    Par rpoulin dans le forum Web & réseau
    Réponses: 7
    Dernier message: 04/03/2010, 15h12
  2. Forcer les utilistateur a remplir les champs
    Par maxime40 dans le forum VBA Access
    Réponses: 1
    Dernier message: 01/06/2007, 15h53
  3. PROBLEME : Forcer la saisie des Champs numériques!!!!!
    Par Grozeil dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 31/03/2005, 15h22
  4. remplir un champ d'une table à partir d'une autre table
    Par MrsFrizz dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/02/2005, 16h48
  5. [Concatenation] Remplir un champ
    Par Pascal dans le forum Bases de données
    Réponses: 6
    Dernier message: 21/06/2004, 07h34

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