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 :

Récupérer un champ sélectionner et le transmettre


Sujet :

JavaScript

  1. #1
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut Récupérer un champ sélectionner et le transmettre
    Bonsoir,

    Un doute m'habite, et il ne me lâche pas.

    Je suis sûr d'être à côté de la plaque.

    J'ai une page comme ceci

    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
    <p>
    			<label for="table" title="Veuillez choisir un type de tiers dans la liste" class="oblig">*Type de tiers :</label>
    			<select name="maj_tiers_type" id="maj_tiers_type" title="Veuillez choisir un type de tiers dans la liste" onchange="go()" onfocus="this.className='focus';" onblur="this.className='normal';">
    						<option value="-1">Aucun</option>
    						{foreach from=$tiers_type item=type key=type_tiers_id}
    								<option value="{$type_tiers_id}"
    	  							{if ($type_tiers_id  == $majeur_tiers.maj_tiers_type)}
    	  					 		selected
    	  				 			{/if}
    	  							>{$type}</option>
    	  					{/foreach}		
    			</select>
    			<span class="legende">ex : 'Famille'</span></p>
    		</p>
    			<input type="button" onclick="javascript:window.location = 'maj_tiers.php?send_id_tiers=&send_tiers_type={$maj_tiers_type}&send_trt=Ajouter';" value="Ajouter un Tiers">
     
    		</p>
    Ma boucle "select" en smarty fonctionne très bien et permet de choisir le champ "maj_tiers_type".

    Dans le "button" du dessous, je veux passer cette variable en paramètre, mais en fait il ne veut pas, c'est toujours à blanc.

    Comment faire pour transmettre la valeur de ce champ ?

    Une astuce javascript c'est ça ?

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tu as essayer comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" onclick="javascript:window.location = 'maj_tiers.php?send_id_tiers=&send_tiers_type='+document.getElementById('maj_tiers_type').value+'&send_trt=Ajouter';" value="Ajouter un Tiers">

  3. #3
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    Merci, c'est top

    J'arrive encore mal à mixer html et javascript, et je n'ai pas le réflexe.

    L'expérience, l'expérience.

  4. #4
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    J'en profite si ce n'est pas trop tard puisque j'ai cliqué sur résolu.

    J'ai dans le même genre un script qui est déclenché à partir d'un onchange.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <select name="maj_tiers_type" id="maj_tiers_type" title="Veuillez choisir un type de tiers dans la liste" onchange="go()" onfocus="this.className='focus';" onblur="this.className='normal';">
    Et le 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
    			function go(){
    				getXhr();
    				xhr.onreadystatechange = function(){
     
    					if(xhr.readyState == 4 && xhr.status == 200){
    						leselect = xhr.responseText;
    					document.getElementById('id_tiers').innerHTML = leselect;
    					}
    				}
    				xhr.open("POST","majeur_ajax_tiers.php",true);
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				sel = document.getElementById('maj_tiers_type');
    				idfile = sel.options[sel.selectedIndex].value;
    				xhr.send("idTiers="+idfile);
    			}
    Sur ma ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sel = document.getElementById('maj_tiers_type');
    Je ne récupère la valeur que si j'arrive de ma base de doonées, si je suis en création et que le champ "name="maj_tiers_type" est vide, après sélection, il reste vide.

    Je ne vois pas pourquoi cela fonctionne dans un cas et pas dans l'autre.

  5. #5
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    J'ai pas trop saisi ca doit etre la fatigue

  6. #6
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    Je suis dans le même état, j'ai les yeux qui me brûle.

    Oui pardon, je n'ai pas mis la partie html intéressante précédent mon "onchange"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    		<select name="maj_tiers_type" id="maj_tiers_type" title="Veuillez choisir un type de tiers dans la liste" onchange="go()" onfocus="this.className='focus';" onblur="this.className='normal';">
    						<option value="-1">Aucun</option>
    						{foreach from=$tiers_type item=type key=type_tiers_id}
    								<option value="{$type_tiers_id}"
    	  							{if ($type_tiers_id  == $majeur_tiers.maj_tiers_type)}
    	  					 		selected
    	  				 			{/if}
    	  							>{$type}</option>
    	  					{/foreach}		
    			</select>
    			<input type="button" onclick="javascript:window.location = 'maj_tiers.php?send_id_tiers=&send_tiers_type='document.getElementById('maj_tiers_type')'&send_trt=Ajouter';" value="Ajouter un Tiers">
    		</p>
    Lorsque je fais un "SELECT", j'alimente le champ "maj_tiers_type"

    Lorsque je clic sur mon bouton, je veux récupérer la valeur de ce champ, donc je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('maj_tiers_type')
    Suis-je plus clair ?

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

Discussions similaires

  1. [MySQL] Comment récupérer un champ sélectionné à partir d'une liste déroulante?
    Par biba2386 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/05/2008, 15h21
  2. Réponses: 5
    Dernier message: 27/05/2005, 18h10
  3. [JTree] Récupérer le noeud sélectionné, sans événement
    Par Bobsinglar dans le forum Composants
    Réponses: 4
    Dernier message: 26/05/2005, 19h06
  4. [Servlet] récupérer les champs d'une jsp
    Par phoebe dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 12/05/2004, 17h32
  5. Réponses: 2
    Dernier message: 13/11/2003, 16h13

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