Page 1 sur 1

Erreur sur un selectedindex

Posté : 26 déc. 2005, 18:59
par SpaSm
Bonjour à tous,
j'ai une erreur que je n'arrive pas à résoudre je suis vraiment au bout du rouleau !

Contexte :
J'ai des rubriques et des libellés pour des courriers.
Un libellé appartient à une rubrique.
Tout ça est affiché par des select ( html ), donc lorsque je choisis une rubrique le select des libellé change pour me permettre d'afficher un courrier.

Or je veux faire également un affichage en donnant directement l'id du libellé ds un input text et je souhaiterais que cela modifie en conséquent le select des rubriques et le select des libellés.

Et j'obtiens cette erreur :
Erreur : uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLSelectElement.selectedIndex]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://monsite.com/courrier_inter.php :: selectindex :: line 31" data: no]

Voici la partie du code concernée :

Code : Tout sélectionner

function selectindex(div,id) { document.getElementById(div).selectedIndex=id; }
( c'est la fameuse ligne 31 )

Code : Tout sélectionner

function recuprub(id,id_html){ //recupere un num de rubrique selon l'id du courrier en para id = file('xmlhttprequest.php?action=recuprub&id='+id); selectindex(id_html,id); }
( le xmlhttprequest me renvoie donc le fameux numéro de rubrique pr pouvoir le sélectionner )


J'ai franchement tout essayé et j'obtiens toujours la même erreur. Au début je faisais le selectedindex ds la fonction recuprub, je me suis dis qu'en le sortant de cette fonction pour le mettre ds une autre le pb serait résolu mais non...

Le pire dans cette histoire c'est que ça fonctionne sur ma base de tests ! Or le code par rapport à la base de prod est un copié/collé identique ( je change seulement l'include de la base ! ). D'où mon incompréhension totale malgré ma médiocrité en js !

qqn voit ce qu'il faudrait faire ?

Merci d'avance...

Posté : 27 déc. 2005, 01:44
par Truc
Salut, si j'ai compris ce que tu souhaites c'est séléctionner une valeur dans une liste en fonction de son rang (id).

dans ce cas:
function selectindex(div,id)
{ 
   document.getElementById(div).options[id].selected = true ;
}
dans ce cas id correspondrait au rang dans la liste.

à voir donc si l'id ne correspond pas a l'attribut "value" ou au text de l'option.

Posté : 27 déc. 2005, 10:39
par SpaSm
Et bien oui ça fonctionne !

Merci à toi.