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 :

Reconstruire menu dynamique apres validation formulaire


Sujet :

JavaScript

  1. #1
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut Reconstruire menu dynamique apres validation formulaire
    Voilà, qd on choisie un continent, cela donne la liste de pays associé à ce contenant (en JS).
    Ces 2 select sont dans un formulaire.
    Quand on valide le formulaire et qu'il y a un pb, on revient sur le formulaire, tout ce qui avait été mis/choisie a été remis sauf pour les pays.
    La liste des pays n'est pas recontruite.

    Comment faire pour reconstruire la liste des pays et en selectionnant le pays choisi ?

    Merci

    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
    <tr>
    				<td>Continent*</td>
    				<td>
    					<select name="ch_cont_coord" onchange="aff(this.form);" onclick="aff(this.form);"> 
    						<option value="" <?php if ($_SESSION['cc']=="") {echo "SELECTED";} ?>>Sélectionner un continent</option>	 
    						<?php
                                                    $req  = "SELECT nom, id_c ";
                                                    $req .= "FROM continent ";      
                                                    $req .= "ORDER BY nom ";
                                                    $res  = mysql_query($req,$connexion) or die ('Erreur : '.mysql_error());  
                                                    
                                                    while ($row  = mysql_fetch_array($res)) 
                                                    {
                                                    ?>
    							<option value="<?php echo $row['nom']; ?>" <?php if ($_SESSION['cc']==$row['nom']) {echo "SELECTED";} ?>><?php echo $row['nom']; ?></option>						 
    						<?php
                                                    } 
                                                    ?>
    					</select>
    				</td>
    			</tr>		 
    			<tr>
    				<td>Pays*</td>
    				<td>
    					<select name="ch_pays_coord" id="ch_pays_coord"> 
    						<option value=""></option>
    					</select> 
    				</td>
    			</tr>

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Salut
    lorsque que tu valides ton formulaire, tu arrives sur une nouvelle page ?
    si oui tu devras repasser le pays sélectionné dans l'url de retour exemple :
    www.tonurl.com?paysSelect=3

    et dans ta boucle de création de pays :
    en php !
    donc je te laisse récupèrer ta variable via l'url ...
    if($payselect == X){
    echo '<option value="xxx" selected>blablabla</option>';
    }
    ...

    Bonne soirée
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  3. #3
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    Ma boucle de creation de pays est en JavaScript.
    Ensuite qd je reviens sur la page, la liste de pays n'est pas créer.

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    tu appliques le même principe , en récupèrant l'id du pays en javascript, mais dans TOUS les cas , si tu effectues un post ou get , tu devras retourner le pays sélectionné avant l'envois du formulaire ...

    après tu n'a plus qu'a faire une vérifiaction normale ... je ne comprend pas trop ton problème ... passé dans l'url de retour , le pays ??
    car la selection et el test sont très simple a faire ...
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  5. #5
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    tout simplement comment et quand lancer la fonction JS qui construit la liste des pays.

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    On va y arriver

    A ce que je comprend : tu sélectionnes un continent, tu valides ton formulaire et tu souhaites alimenter ta liste de pays ?

    c'est ce que l'on appel des liste déroulante liées ... je te conseille d'allez voir ce post : http://www.developpez.net/forums/showthread.php?t=598

    Bonne recherche .....
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  7. #7
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    Je ne cherche pas à savoir comment on fait des listes liées car ça est déjà fait.

    Qd on choisie un continent, cela declenche (onchange) une fonction JS qui construit ma liste de pays.

    Apres avaoir valider et qd revient sur le formulaire (pour x raisons), la liste des n'est pas construite car le onchange de la liste des continent n'est pas declanché (normal).

    Donc je cherche à declencher cette fonction JS par un autre moyen...

  8. #8
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    Trouver solution, pour ceux à qui ça intéresse :

    J'ai modifier la fonction JS pour pouvoir la mettre dans le onload du body et rajouté ceci pour pouvoir afficher le pays selectionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	if ($r["nom_p"] == $_SESSION[$_POST['sel']])
    	{
    		echo 's.options.selectedIndex = s.options.length-1;';	
    	}

  9. #9
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    dans ce cas :

    window.onload = taFonction();
    tafonction(){
    var paysSaisit = récupération via l'url
    boucle construction de ta liste d'option
    condition si paysSaisit == pays en cours alors selected
    fin de boucle
    }

    ...
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

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

Discussions similaires

  1. Session perdue après validation formulaire
    Par philippef dans le forum Langage
    Réponses: 4
    Dernier message: 12/12/2008, 11h31
  2. fermeture popup après validation formulaire
    Par labucque dans le forum Langage
    Réponses: 5
    Dernier message: 30/06/2008, 09h34
  3. ouverture new page apres validation formulaire
    Par jameson dans le forum Langage
    Réponses: 5
    Dernier message: 19/06/2008, 13h04
  4. Réaffichage menu déroulant après validation
    Par bogsy15 dans le forum Langage
    Réponses: 18
    Dernier message: 05/09/2007, 09h22
  5. Réponses: 13
    Dernier message: 04/04/2007, 01h37

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