[Résolu] Récupere la valeur d'un Select

Récupere la valeur d'un Select [Résolu] - HTML/CSS - Programmation

Marsh Posté le 11-06-2008 à 12:25:43    

Bonjour à tous,
 
J'ai fait une fonction toute bête pour afficher la valeur sélectionné dans un select  

Code :
  1. function recup()//Récupère la valeur de la liste déroulante
  2. {
  3. var a =  document.getElementById('nom du select').options[document.getElementById('nom du select').selectedIndex].value
  4. alert(a);
  5. }


 
Cela m'affiche bien la valeur
 
Or, j'ai plusieurs liste dans mon formulaire, et je souhaite pouvoir faire cette affichage pour chacune de ces listes
 
Voici la même fonction, mais le fait de passer en paramètre le nom du select ne lui plait pas,
Mon appel :

Code :
  1. <select name='scriptLogin' id='scriptLogin' onchange=\"recup(scriptLogin)\">
  2.                                         <option>script 1</option>
  3.                                         <option>script 2</option>
  4.                                         <option>script 3</option>
  5.                                         <option>script 4</option>
  6.                                         <option>script 5</option>
  7. </select>


 
La fonction  

Code :
  1. function recup(id)//Récupère la valeur de la liste déroulante
  2. {
  3. var a =  document.getElementById(id).options[document.getElementById(id).selectedIndex].value
  4. alert(a);
  5. }


 
Cela me signal document.getElementById(id) has no properties
 
Auriez-vous une idée?
 
Merci d'avance,
 
Cordialement,


Message édité par akalaan le 11-06-2008 à 12:52:47
Reply

Marsh Posté le 11-06-2008 à 12:25:43   

Reply

Marsh Posté le 11-06-2008 à 12:33:52    

getElementById prend une string en parametre et tu lui envoies un objet non initialisé c est donc normal

Code :
  1. <select name='scriptLogin' id='scriptLogin' onchange=\"recup(this.id)\">
 

c est deja plus propre sinon il aurait fallu que tu mettes scriptLogin entre guillemets mais c ets bof pour la maintenance

 

mais y a encore plus court

Code :
  1. <select id='scriptLogin' onchange=\"showValue(this.value)\">
 
Code :
  1. function showValue(val) {alert(val);}
 

edit:
par contre je comprends pas que tu echappes le onchange
me dis pas que t as ton html/js dans un fichier php [:florentg]


Message édité par mIRROR le 11-06-2008 à 12:45:35

---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
Reply

Marsh Posté le 11-06-2008 à 12:52:20    

Merci de m'avoir répondu,
 
Parfait cela fonctionne
 
En fait mon html est dans un CGI perl car à la fin de ce fichier, j'ai une fonction qui me charge le contenu d'un LDAP dans un select.
 
Mon fichier JS est externe
 
Merci encore,

Reply

Marsh Posté le 11-06-2008 à 13:51:28    

pas d excuse :o
http://html-template.sourceforge.net/


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed