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 :

[IE] Creation d'un select


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut [IE] Creation d'un select
    Bonjour,

    Je crée un select en javascript dans lequel je specifie quel donnée doit etre sélectionnée. Sous IE cela ne marche pas :

    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
    var selectStatut = document.createElement('select');
    	selectStatut.setAttribute('style', 'width:auto;');
    	selectStatut.name ='actif[]';
    	var optionStatut = new Array(
    					new Option("Desactivé", "0", true, false),
    					new Option("Activé", "1", false, false)
    					);
    	for (i=0;i<optionStatut.length;i++)
    	{
    		if(i == statut){
    		alert(i+"mode");
    		optionStatut[i].selected = true;
    		}
    		selectStatut.options.add(optionStatut[i]);
    	}
    Je n'arrive pas a trouver la source du probleme (j'ai exactement le meme code pour créer un autre select qui marche...).

    Merci pour vos conseils!

  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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    hihi c'était la suite logique de ton problème,
    j'ai failli t'en parler tout là l'heure ...


    Ie ne sait pas attribuer un name à un element de formulaire créé dynamiquement...

    il faut faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.createElement(('<select name="' +nomdynamique +'" >')
    tout est expliqué par là http://www.developpez.net/forums/sho...d.php?t=535848
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    Merci !

  4. #4
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    J'ai essayé ce que tu m'as conseillé mais sans réussite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    try{
    	var selectStatut = document.createElement("<select name=\"actif[]\">");
    	} catch(err) {
    	var selectStatut = document.createElement('select');
    	selectStatut.setAttribute('style', 'width:auto;');
    	selectStatut.name ='actif[]';
    	}
    J'ai mis un try/catch , parce que je n'ai pas réussi a trouver un cas qui fonctionné sous FF et IE en meme tps .....

    De plus j'ai toujours le meme résultat sous IE => apres plusieurs test j'ai l'impression que l'info ne se transmet pas bien à ce niveau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    selectStatut.options.add(optionStatut[i]);

  5. #5
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var selectStatut = document.createElement'<select name="actif[]">');

    devrait suffire
    regarde dans l'article dont je t'ai donné le lien
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    ok , merci

  7. #7
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    Bonjour,

    En faisant ce que tu m'a conseillé , sous FireFox j'ai cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String contains an invalid character" code: "5

    As-tu une idée d'où ça peut provenir ?


    Meme en mettant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var selectStatut = document.createElement'<select name="actif[]">');
    Pour créér l'élément, je n'ai pas le fonctionnement voulu sous I.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
    var selectStatut = document.createElement('<select name="actif[]">');
    var optionStatut = new Array(
    					new Option("Desactivé", "0"),
    					new Option("Activé", "1")
    					);
     
    	for (i=0;i<optionStatut.length;i++)
    	{
    		if(i == statut){
    		optionStatut[i].selected = true;
    		}
    		selectStatut.options.add(optionStatut[i]);
    	}
    	newCell6.appendChild(selectStatut);

    Merci d'avance!

  8. #8
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    il faut différencier IE et FFX
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (document.all){var selectStatut = document.createElement'<select name="actif[]">');}
    else {var selectStatut = document.createElement('select');
             selectStatut.name="actif[]";
    }
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    Ya-t-il encore une commande invalide pour I.E dans ce bout de code ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var selectStatut = document.createElement('<select name="actif[]">');
    var optionStatut = new Array(
    					new Option("Desactivé", "0"),
    					new Option("Activé", "1")
    					);
     
    	for (i=0;i<optionStatut.length;i++)
    	{
    		if(i == statut){
    		optionStatut[i].selected = true;
    		}
    		selectStatut.options.add(optionStatut[i]);
    	}
    	newCell6.appendChild(selectStatut);

    Merci !

  10. #10
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    Internet Explorer : il faut insérer le select dans le document avant d'ajouter les options !!

    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
    var selectStatut = document.createElement('<select name="actif[]">');
    var optionStatut = new Array(
    					new Option("Desactivé", "0"),
    					new Option("Activé", "1")
    					);
     
    newCell6.appendChild(selectStatut);
     
    	for (i=0;i<optionStatut.length;i++)
    	{
    		if(i == statut)
                    {
    		optionStatut[i].selected = true;
    		}
    		selectStatut.options.add(optionStatut[i]);
    	}

  11. #11
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    J'ai essayé d'ajouter le Select dans le document comme tu me l'a présenté mais sans plus de résultat.

    La seule méthode qui marche actuellement , n'est pas propre (pour un select avec plus de deux options ça deviens vraiment brouillon...). Je ne sais d'ailleurs pas pourquoi elle fonctionne :

    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
    //Creation de Select pour IE
    	if(document.all){
    	var selectStatut = document.createElement('<select name="actif[]">');
    	//Creation de select sous FF
    	} else{
    	var selectStatut = document.createElement('select');
    	selectStatut.setAttribute('style', 'width:auto;');
    	selectStatut.name ='actif[]';
    	}
           //IE
    	if(document.all){
    		if(statut == 1){
    			selectStatut.options.add(Option("Activé",1));
    			selectStatut.options.add(Option("Desactivé",0));
    		} else {
    			selectStatut.options.add(Option("Desactivé",0));
    			selectStatut.options.add(Option("Activé",1));
    		}
            //FF
    	} else{
    	var optionStatut = new Array(
    					new Option("Desactivé", 0),
    					new Option("Activé", 1)
    					);
    	for (i=0;i<optionStatut.length;i++)
    	{
    		if(i == statut){
    		optionStatut[i].selected = true;
    		}
    		selectStatut.options.add(optionStatut[i]);
    	}
    	}
    	newCell6.appendChild(selectStatut);
    	newCell6.className="ListColCenter";

  12. #12
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    C'est un peu ballot de persister avec un code qui boite, alors que le code donné dans le lien plus haut fonctionne parfaitement sous IE et FFx ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  13. #13
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    Je vais me pencher dessus , je pensais à la base que j'allais perdre trop de temps à tous refaire en prenant ta méthode , mais maintenant je n'en suis plus si sur que ca


    Merci pour vos conseils a tous!

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

Discussions similaires

  1. Creation d'un button avec icon dans selection screen
    Par khlaifimed dans le forum SAP
    Réponses: 3
    Dernier message: 23/11/2012, 08h01
  2. Réponses: 3
    Dernier message: 12/06/2012, 13h25
  3. creation de table par select into
    Par olaxius dans le forum Informix
    Réponses: 4
    Dernier message: 21/09/2009, 16h42
  4. Selection de données pour la creation d'un graphique
    Par midoparis dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 06/05/2008, 12h35
  5. Réponses: 2
    Dernier message: 28/07/2006, 14h48

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