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ération de la valeur d'un select dynamique


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Bonsoir à tous,

    dans un but d'élaborer un WYSIWYG, j'ai créer grâce à Javascript deux listes déroulantes qui contiennent différentes police et différentes taille de police.

    Cependant, je n'arrive pas a récupérer de façon correcte la taille ou le type de police afin de l'appliquer sur du texte sélectionné.

    En fait, sur cette liste déroulante, j'ai associé une fonction qui change automatiquement la police ou la taille du texte lorsqu'on choisie une valeur dans la liste. C'est donc à ce moment là que je souhaite connaitre la valeur sélectionnée.

    J'espère m'être exprimé correctement.

  2. #2
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Bonjour,

    Pourriez-vous nous montrer un peu de code ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Bonjour, avec plaisir!

    Voici ma fonction qui me permet de créer mes liste déroulantes :
    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
     
    function creerSelect(parent,nom,taille,tab,methode){
    	var enfant= document.createElement("select");
    	enfant.setAttribute("id",nom);
    	enfant.setAttribute("size",taille);
    	enfant.setAttribute("value","Mon titre");
    	for (var i=0; i< tab.length; i++){
    		var petitEnf= document.createElement("option");
    		petitEnf.setAttribute("value",tab[i]);
    		if (i==0)
    			petitEnf.setAttribute("selected","selected");
    		var texte= document.createTextNode(tab[i]);
    		petitEnf.appendChild(texte);
    		enfant.appendChild(petitEnf);
    	}
    	if (enfant.addEventListener)
    			enfant.addEventListener("onchange",methode,false);
    		else if (enfant.attachEvent)
    			enfant.attachEvent("onchange",methode);
    	parent.appendChild(enfant);
    }
    Mon appel de fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var taillePolice= new Array("1","2","3","4","5","6","7");
    	creerSelect(obj,"selectTaille","1",taillePolice,function(){TailChx()});
    et pour finir, ma fonction censée récupérer la valeur sélectionnée et l'appliquer au texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function TailChx()
    {	var sel = document.forms[1].selectTaille;
            Champ.execCommand("FontSize", false, sel[sel.selectedIndex].text);
    	Fen.focus();
    }
    C'est dans cette dernière que le problème intervient. Ca ne récupère pas comme il faut la valeur sélectionnée.

    Merci de ton aide vermine

  4. #4
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Je pense que c'est à ce niveau-ci, value au lieu de text:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var sel = document.forms[1].selectTaille;
    Champ.execCommand("FontSize", false, sel[sel.selectedIndex].value);
    Vérifiez quand même que c'est ben le second formulaire du document et que Champ est bien connu.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Merci pour ta réponse.

    J'ai bien changé le ".text" en ".value", mais ca ne marche toujours pas.
    Lorsque je sélectionne une valeur dans ma liste, IE me fait l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Détails de l’erreur de la page Web
     
    Agent utilisateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; MathPlayer 2.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 1.1.4322)
    Horodateur : Wed, 2 Jun 2010 07:59:53 UTC
     
    Message : 'selectedIndex' a la valeur Null ou n'est pas un objet.
    Ligne : 319
    Caractère : 55
    Code : 0
    URI : file:///E:/essai/essai.js
    Champ est quand a lui une variable globale que j'utilise ailleurs, aussi pour faire des execCommand, et ca marche très bien.
    Et oui, ma liste se trouve bien dans mon deuxième formulaire.

  6. #6
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Que dit le code HTML généré ?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    C'est-à-dire ? Je ne vois pas ce que tu veut dire

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Ok, c'est bon j'ai compris ce que tu veut dire. J'ai pu retrouvé a quoi ressemblé le code généré.
    Et j'ai pu voir que l'id de ma liste était différente de celui à quoi je m'attendais.

    Erreur corrigé, j'attribue le bon id a ma liste, et le code fonctionne parfaitement.

    Merci encore de m'avoir aidé a cherché mon erreur vermine.

    Bonne journée

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

Discussions similaires

  1. [MySQL] Récupération de la valeur d'un select dynamique
    Par aeoai dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/10/2007, 16h39
  2. Récupération de la valeur d'un SELECT
    Par kheiro dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 16/07/2007, 11h53
  3. Récupération de la valeur d'un "SELECT.."
    Par Tintou dans le forum VBA Access
    Réponses: 4
    Dernier message: 21/05/2007, 20h43
  4. Récupération de la valeur textuelle du select et non de la valeur
    Par kenny49 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 12/04/2007, 12h27
  5. récupération de la valeur d'un select
    Par kcizth dans le forum Langage
    Réponses: 2
    Dernier message: 10/01/2006, 11h21

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