Probleme : une fonction qui ne marche qu'une fois sous IE?:?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme : une fonction qui ne marche qu'une fois sous IE?:?

par ouckileou » 01 juil. 2005, 14:36

ah d'accord je croyais que c'était une fonction de ton cru ;)

par Shrell » 01 juil. 2005, 14:31

bah contrairement à ce que j'ai dit la fonction Option est directement implémentée dans javascript, donc quand tu fais form.machintruc[index] = new Option(paramètres) bah ça te crée directement ta nouvelle option dans ta liste déroulante!
Jubilation intense ^^ (ça fait 3 jours que je suis dessus lol)

par ouckileou » 01 juil. 2005, 14:25

et on la trouve où la fonction Option() ? ;)

si y'a pas déjà un truc de ce genre tu peux poster dans le Coin des Développeurs, en expliquant un peu

C BOOOOOOOOOOOOOOOOON

par Shrell » 01 juil. 2005, 14:20

YEAAAAAAAAAAAH ça y'est j'ai trouvé!
Ma fonction Option() ne transportait pas assez d'arguments!!!!
Bon, pour ceux que ça interesse, parce qu'apparemment c'est un pb qui revient souvent, cette fonction me semble bcp moins lourde que les autres, donc je vous la communique (j'en ai les larmes aux yeux :))
liste = new Array(); 
liste["Maison"] = new Array("tata"); 
liste["Appartement"] = new Array("titi"); 
liste["Loft"] = new Array("toto"); 
liste["Local"] = new Array("tutu"); 
liste["Terrain"] = new Array("tete"); 
liste["Fond de commerce"] = new Array("tyty"); 
liste["tata"] = new Array("baba"); 
liste["toto"] = new Array("bobo"); 

//fonction de mise a zero des listes suivantes
function mzero(arrivee) {
    var taille = arrivee.options.length;
	for(var i=1; i < taille ; i++) {
	arrivee.options[1] = null;
    }
}

//fonction de lien 
function gene(depart,arrivee) {
	mzero(arrivee);
	for(i=0; i < nbliste[depart].length; i++) {
        arrivee.options[arrivee.options.length] = new Option(liste[depart][i],liste[depart][i],false,false);
    }
    arrivee.focus();
}
voilou, la fonction Option() doit comporter dans l'ordre (texte,valeur,defaultselected,selected)
donc voilà, une seule fonction pour toute une tripotée de menus dynamiques, (pour l'instant j'en suis à 12 d'affilée lol)
et voilou, j'ai codé ma première fonction!!!!!!

par Shrell » 01 juil. 2005, 13:05

ah oui en effet je viens de remarquer que Option n'est pas implémenté dans javascript....................... je m'en vais creuser de ce coté :D

par Cyrano » 01 juil. 2005, 13:05

Note : J'ai déplacé ce sujet dans le forum correspondant au lange, en l'occurence JavaScript. Merci d'avoir un tout petit minimum d'attention sur les choix avant de poster ;)

Pour ton problème avec les listes déroulantes liées, jette un coup d'oeil dans le forum des développeurs, il y a quelque chose qui devrait t'intéresser particulièrement.

par ouckileou » 01 juil. 2005, 12:18

à mon avis ça manque d'infos

c'est quoi cette classe Option ? c'est elle qui représente une liste

je ne vois pas trop comment tu utilises tout ça :roll:

par Shrell » 01 juil. 2005, 12:13

Personne a une idée?
](*,) ](*,) ](*,) ](*,)

Probleme : une fonction qui ne marche qu'une fois sous IE?:?

par Shrell » 30 juin 2005, 16:27

Salut tout le monde
C'est mon premier post ici, je la fais courte
j'ai trouvé une fonction pour lier des menus déroulants, que j'ai modifiée pour en faire exactemement ce que je veux
Le code:
//creation des correspondances de listes
liste = new Array();
liste["Maison"] = new Array("tata");
liste["Appartement"] = new Array("titi");
liste["Loft"] = new Array("toto");
liste["Local"] = new Array("tutu");
liste["Terrain"] = new Array("tete");
liste["Fond de commerce"] = new Array("tyty");
liste["tata"] = new Array("baba");
liste["toto"] = new Array("bobo");

//fonction de lien
function gene(depart,arrivee) {
    mzero(arrivee);
	for(var i=0; i < liste[depart].length; i++) {
        var opt = new Option(liste[depart][i]);
        arrivee.options[arrivee.options.length] = opt;
    }
    arrivee.focus();
}
Voilà, donc j'explique pour etre le + clair possible, ma fonction de lien va zieuter dans ma liste déroulante quelle valeur je prends, et en fonction de ça reconstruit la liste que je désigne... jusque là rien d'aberrant
Seulement voilà, cette fonction marche nickel sous firefox et opera mais sous IE elle ne marche qu'une seule fois (pas moyen de faire des menus en cascade...)
Y aurait-il une ame charitable pour éclairer ma lanterne?