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 :

actualisation d'un select


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut actualisation d'un select
    Bonjour à tous ,
    N'ayant pas fais de javascript depuis un moment je suis un peu perdu pour mon formulaire.
    J'ai deux select un qui correspond au direction et un qui correspond au service. Celui correspondant au service doit s'actualiser en fonction de la direction choisi ... et c'est la que je suis perdu ... je mets le code si quelqu'un a une idée

    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
     
    /***** Appel test javascript *****/
    		$content .= '<script type="text/javascript">
    					function controle_dir() {
    						document.direction.submit();
    						document.location.reload();
    					}
    					</script>';
     
    		/*** début du formulaire direction ***/
    		$content .='<form name="direction" action="" method="POST">';
    		$content .='<div id="label">Direction :</div>';
    		$content .='<select name="direction" id="direction" title="Recherche par Direction" onChange="controle_dir(this[this.selectedIndex].value)">';
    		$content .= '<option id="cacher"></option>';
    		for ($d=0;$d<$count3;$d++){
    				if ($rows3[$d]['direction'] != null){
    					$content .='<option id="opt">'.$rows3[$d]['direction'].'</option>';
    				}
    		}
     
    		$content .='</select>';
    		$content .='</form>';
    		/*** fin du formulaire direction ***/
     
    		/*** début du formulaire ***/
    		echo $_POST['direction'];
    		$content .='<form for="formulaire" action="" method="POST" onChange="">';
    		$content .='<div id="label">Service :</div>';
    		$content .='<select name="service" id="service" title="Recherche par Service">';		
    		$content .='<option></option>';
    		for ($e=0; $e<$count2; $e++){ 
    				if ($rows2[$e]['service'] != null && $_POST['direction'] == $rows2[$e]['direction']){
    					$content .= '<option>'.$rows2[$e]['service'].'</option>';
    				}
    		}
     
    		$content .='</select>';
     
    		$content .='<div id="label">Nom :</div> <input style="width:150px;" type="text" name="nom" title="Recherche par nom de famille"><br />';
    		$content .='<div id="label">Prénom :</div> <input style="width:150px;" type="text" name="prenom" title="Recherche par prénom"><br />';
    		$content .='<br /><input type="submit" class="submit" name="submit" value="Rechercher" title="Lancer la recherche"><input type="reset" class="reset" name="reset" value="Restaurer" title="Restaurer le formulaire">';
    </form>

  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 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    On préfèrerait voir le html js généré ...

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Qu'entends tu par html généré ??

    Bossant sous typo3 je ne peux pas donner plus d'info à part poser le code entier de l'extension ...

  4. #4
    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 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Quand tu visualise ta page dans un navigateur ..
    tu fais afficher ... source ...

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Oki dsl mais j'ai le nez dans le code depuis 3 jours

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <html><head><link rel="stylesheet" type="text/css" href="fileadmin/templates/widget/style.css" media="all" /><script type="text/javascript" src="fileadmin/templates/widget/js/jquery.js" media="all"></script><script type="text/javascript" src="fileadmin/templates/widget/js/select.js" media="all"></script><script type="text/javascript" src="typo3conf/ext/rgmoodalbox/res/js/mootools.js"></script><script type="text/javascript" src="typo3conf/ext/rgmoodalbox/res/js/moodalbox.js"></script></head><body><script type="text/javascript">
    					function controle_dir() {
    						document.direction.submit();
    						document.location.reload();
    					}
    					</script><form name="direction" for="direction" action="" method="POST"><div id="label">Direction :</div><select name="direction" id="direction" title="Recherche par Direction" onChange="controle_dir(this[this.selectedIndex].value)"><option id="cacher"></option><option id="opt">Affaires Financières - Prévention</option><option id="opt">Affaires Statutaires</option><option id="opt">Communication</option><option id="opt">Concours</option><option id="opt">Direction</option><option id="opt">Emploi</option><option id="opt">Présidence</option><option id="opt">Ressources humaines et logistique</option></select></form><form for="formulaire" action="" method="POST" onChange=""><div id="label">Service :</div><select name="service" id="service" title="Recherche par Service"><option></option></select><div id="label">Nom :</div> <input style="width:150px;" type="text" name="nom" title="Recherche par nom de famille"><br /><div id="label">Prénom :</div> <input style="width:150px;" type="text" name="prenom" title="Recherche par prénom"><br /><br /><input type="submit" class="submit" name="submit" value="Rechercher" title="Lancer la recherche"><input type="reset" class="reset" name="reset" value="Restaurer" title="Restaurer le formulaire"><br /><br /><div align="center" style="color:red;">Vous devez renseigner un champs minimum.</div></form></body></html>
    Voici le code généré par le widget ou ce trouve le code.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    ASP Javascript Ajax Jquey
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ASP Javascript Ajax Jquey
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Ta balise form a le meme nom que ton select N° 1 c'est une idée

    Pourquoi ne mets-tu pas à jour ton select N° 2 avec du Jquery, sans transmettre ton formulaire ?
    Code javascript :
    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
     
    $('#direction').change(function(){
    	var value = '';
            $('#direction' :selected').each(function(i, selected){
    	      value = $(selected).val();
    	});
    	$.ajax({
    	async : false,
    	type: 'POST',
    	url: 'PageGetInfo.php',
    	data: 'action=miseajourselect&value='+value,
    	error: function(){},
    	beforeSend: function(){},
            success: function(msg){
                 $('#service').replaceWith(msg);
                 }
    	});
    		});
     
    });
    PageGetinfo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if action = miseajourselect then
    <select name="service" id="service">
    <option .....
    ....
    ....
    ....
    </option>
    </select>
     
    end if
    Ps: désolé pour mon manque de temsps pour trouver le bon code pour du Php

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse mais j'avais déjà fais un code en jquery mais IE < 9 pose un souci (et j'ai quasi tout les utilisateurs en ie8) ...
    C'est pour cela que j'essaie de réduire l'utilisation de script et le réduire au simple fait de juste rafraichir le deuxième select en fonction de la valeur du premier ...

    ... ...

  8. #8
    Membre confirmé Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Points : 551
    Points
    551
    Par défaut
    Bonne idée tayoze. Sortons le tank pour tuer une mouche !
    Non c'est vrai : un tank c'est très utile si tu ne sait pas viser !
    Je précise que je suis tout de même d'accord sur l'idée de ne pas faire un submit... mais ce n'est peut-être pas la chose la plus simple à faire pour débuter le javascript, non ?

    Le problème est effectivement que tu as sur ta page deux éléments avec le même name... dont l'un est un formulaire et l'autre un select.
    Que vas donc faire le document.direction.submit() ?
    envoyer le formulaire ou le select ??

    Je ne comprends d'ailleurs pas trop la ligne suivante qui demande de faire un reload après avoir fait un submit....

    As-tu une idée de ce qu'est un requête entre le client et le serveur?

    Pour ton nez, je te conseille de le garder au moins un peu au dessus de ton code, imagine si il se retrouve pris dans une boucle infinie !

Discussions similaires

  1. [2.x] Actualiser dynamiquement des select dans un template
    Par BarbicheIMA dans le forum Symfony
    Réponses: 3
    Dernier message: 21/07/2014, 13h35
  2. [MySQL] Actualisation page après sélection dans liste déroulante
    Par tanaka59 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 15/01/2013, 20h07
  3. [AJAX] Listes chainées - Mauvaise actualisation d'un select
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/05/2008, 15h50
  4. [AJAX] Actualisation de select
    Par Pahcixam dans le forum Général JavaScript
    Réponses: 49
    Dernier message: 14/12/2006, 11h23
  5. Actualiser <input type"text" d'après <select
    Par Scratchy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/02/2006, 15h01

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