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 :

"onchange" sur select créé par javascript


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 30
    Points : 31
    Points
    31
    Par défaut "onchange" sur select créé par javascript
    Bonjour,

    J'ai un champ texte "nombre_personne" qui est censé contenant une valeur entrée par l'utilisateur.

    En fonction de cette valeur, on va générer des lots composés d'un champ texte et d'un sélecteur.

    Sur chaque sélecteur, j'essaye d'appliquer un évènement "onchange". A priori, seul ceci ne fonctionne pas. Les lots sont correctement générés et s'affiche à l'écran.

    Que faire ?

    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
     
     
    for(i=1;i<=val(document.getElementById("nb_personnes").value);i++) {
     
      var new_div_principal = document.createElement("div") ;
      new_div_principal.id = "princ_"+i ;
      new_div_principal.name = "princ_"+i ;
     
      var new_input = document.createElement("input") ;
      new_input.id = "personne_" + i ;
      new_input.name = "personne_" + i ;
      new_input.value = "" ;
     
      var new_select = document.createElement("select") ;
      new_select.id = "choix_"+i ;
      new_select.name = "choix_"+i ;
     
      new_select.setAttribute("onchange","alert('toto');") ;
     
      var new_option = document.createElement("option") ;
      new_option.value = "" ;
      new_option.innerHTML = "Faites votre choix" ;
      new_select.appendChild(new_option) ;
     
      var new_option = document.createElement("option") ;
      new_option.value = "1" ;
      new_option.innerHTML = "Lambert Wilson" ;
      new_select.appendChild(new_option) ;
     
      var new_option = document.createElement("option") ;
      new_option.value = "2" ;
      new_option.innerHTML = "Marthe Vilalonga" ;
      new_select.appendChild(new_option) ;
     
      new_div_principal.appendChild(new_input) ;
     
      new_div_principal.appendChild(new_select) ;
     
      new_div.appendChild(new_div_principal) ;
     
    }
    Merci d'avance pour votre réponse.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 30
    Points : 31
    Points
    31
    Par défaut
    Après quelques recherches, j'ai trouvé cette page intéressante :

    http://www.nanoum.net/blog/9_setAttribute.html

    Sous IE, cela marche très bien en utilisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new_select.onchange = function() { alert("toto") } ;
    Sous Firefox, je ne sais pas encore. J'ai des problèmes dans l'affichage de la page mais ce n'est pas lié à l'objet de ce post. Affaire à suivre...

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

Discussions similaires

  1. [AJAX] Click sur select alimenté par ajax plante ie
    Par Pgs dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/04/2008, 10h45

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