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 :

action sur une options


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Septembre 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 46
    Par défaut action sur une options
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <select id="monSel" onchange="call()" >
    <option id="option1_avec_confirm" >Option 1</option>
    <option id="option2_sans _confirm" >Option 2</option>
    <option id="option3_avec_confirm" >Option 3</option>
    <option id="option4_avec_confirm" >Option 4</option>
    <option id="option4_sans_confirm" >Option 4</option>
    </select>
    Je veux lancer un javascript avec confirmation ou non selon l'option choisi. Jaimerai aussi un message également différent selon l'option.
    Quel technique me conseiler vous autre qu'une convention de nom pour faire cela génériquement car les options sont inconnues à l'avance (généré depuis une BD) ?

    J'avais pensé
    - utiliser du javascript sur chaque option pour mettre a jour une variable JS. Mais on ne peux pas executer du JS depuis une option. En tout cas, je n'y suis pas arrivé.
    - utiliser un tag particulier sur chaque options avec le msg a afficher.... un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <option id="option4" msg="Confimer l'appel 4" >Option 4</option>
    ou plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <option id="option4" name="Confimer l'appel 4" >Option 4</option>
    car l'attribut msg n'existe pas.

    Et recuperer cela par un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function call() {
      	select = document.getElementById("monSel");
      	index =select.selectedIndex;
      	msgConfirm = select.options[index].name;
      	if (msgConfirm!=null && msgConfirm!="") {
      		if (! confirm(msgConfirm)) {
      		  doit = false;	
      		}
      	}
    }
    Mais je ne trouve pas cela propre

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    Salut,

    Etant donné que tu génère ta liste d'option depuis ta base de donnée,
    tu peux générer parallelement un tableau javascript pour les messages.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var messages = new Array('msg1', 'msg2', ...);
    Ensuite, sur le onchange de ton select, tu affiches le message à l'index
    correspondant au selectedIndex

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function call() {
      	select = document.getElementById("monSel");
      	index = select.selectedIndex;
      	msgConfirm = messages[index];
      	if (msgConfirm!=null && msgConfirm!="") {
      		if (! confirm(msgConfirm)) {
      		  doit = false;	
      		}
      	}
    }

  3. #3
    Membre averti
    Inscrit en
    Septembre 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 46
    Par défaut
    Merci de cette alternative auquel je n'avais pas pensé. Ca fera un peu sale dans le code html généré mais c'est efficace

Discussions similaires

  1. [PHP-JS] Problème lors du clique sur une option
    Par sara21 dans le forum Langage
    Réponses: 7
    Dernier message: 13/05/2007, 04h01
  2. Action sur une liste déroulante
    Par manplum dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/09/2006, 19h28
  3. OnMouseOver sur une option liste
    Par ok07 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/08/2006, 15h11
  4. [Tableaux] action sur une variable ->
    Par mactech dans le forum Langage
    Réponses: 9
    Dernier message: 15/12/2005, 18h01
  5. Action sur une image
    Par frutix dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 21/10/2005, 11h04

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