[AJAX] utilisation de listbox générées

utilisation de listbox générées [AJAX] - HTML/CSS - Programmation

Marsh Posté le 04-04-2008 à 01:23:06    

je travaille actuellement en JSP et je souhaiterai intégrer de l'ajax (ou javascript pour faire moins pompeux) pour que ma BDD se mette à jour à chaque modification de la listbox.
Mon code fonctionne lorsque mes listbox sont fixes crées en dur dans le code, mais pas quand je les génére dans une boucle avec un nom qui se termine par un numéro incrémenté. (style: tab1, tab2, tab3...) Dans ce cas il me le considère comme une chaine de caractère simple.
 
voici la partie problématique:

Code :
  1. out.print("<tr><td><select name=\""+test+"\"  id=\""+test+"\" onchange=\"appel("+test+".options["+test+".selectedIndex].text);\" >" );


 
test est la variable qui contient le nom de ma listbox.
 
je suis sur que le probleme vient de l'utilisation de cette variable au lieu du nom en dur, donc si vous avez déjà rencontré le problème et que vous pouvez me confirmer que c'est impossible, n'hésitez pas! ;)

Reply

Marsh Posté le 04-04-2008 à 01:23:06   

Reply

Marsh Posté le 04-04-2008 à 09:22:37    

et avec un document.getElementById("+test+" ) à la place de "+test+" dans la fonction javascript ? (je réponds à coté de la plaque, ou c'est cela que tu voulais ?)


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 04-04-2008 à 09:42:01    

babasss a écrit :

et avec un document.getElementById("+test+" ) à la place de "+test+" dans la fonction javascript ? (je réponds à coté de la plaque, ou c'est cela que tu voulais ?)


 
+1
 
Explication : ce n'est pas parce qu'on a un élément qui à un id 'toto' qu'il existe une variable javascript toto associée...
 
sinon, ici vu que tu es dans un gestionnaire d'évènement de ton élément <select> tu peux utiliser le mot clé 'this'

Code :
  1. out.print("<tr><td><select name=\""+test+"\"  id=\""+test+"\" onchange=\"appel(this.options[this.selectedIndex].text);\" >" );


 
c'est plus simple non ? ;)

Reply

Marsh Posté le 04-04-2008 à 18:50:50    

je vois ce que vous voulez dire mais, ... ca marche pas:(
cependant le problème doit venir de moi. J'ai contourné le problème: nommer toutes les listes box avec un meme nom fixe. vu que on met la BDD à jour en direct ca n'a pas de repercution visible.
mais c'est une solution temporaire, je retesterai le "document.getElementById".

Reply

Sujets relatifs:

Leave a Replay

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