dit moi qcq je doit ajouter pour adapter ca sous firfox ( cad ajouter avant Autres pour kelle reste tjrs la dernieres ) car ma page sou explorer change bcps d'apparence stp
Version imprimable
dit moi qcq je doit ajouter pour adapter ca sous firfox ( cad ajouter avant Autres pour kelle reste tjrs la dernieres ) car ma page sou explorer change bcps d'apparence stp
et c la derniere qst comme je fais pour supprimer stp c urgent
on dirait bien que fireFox ne reconnait pas insertBefore ???
il va falloir tout changer ..
pour la suppresssion tu veux pouvoir suppreimer quoi ? l'option selectionnée quelle qu'elle soit ?
oui quelle kel soit
cad selectionner l'option que je veux supprimer
Merci d'avance
pour compatibilité ffx et IE :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 script type='text/javascript'> function ajouteoption(Obj){ var MesOptions=new Array() if(Obj.options[Obj.selectedIndex].innerHTML=="Autre..."){ var newText=prompt("entrez le texte de l\'option","") var newOption=document.createElement('option'); newOption.innerHTML=newText for(i=0;i<Obj.options.length-1;i++){ MesOptions.push(Obj.options[i]) } for(i=0;i<MesOptions.length;i++){ Obj.appendChild(MesOptions[i]); } Obj.appendChild(newOption) lastOption=document.createElement('option') lastOption.innerHTML="Autre..." Obj.appendChild(lastOption) setTimeout(function(){Obj.selectedIndex=Obj.options.length-2},500) } } </script> </head> <body> <select name="structure2" id="monselect" onmouseup="setTimeout(function(){ajouteoption(document.getElementById('monselect'))},500)" size="1"> <option>Direction Génerale</option> <option>--------------------</option> <option>Dir.Info-Comm</option> <option>Dir.Pédagogie</option> <option>Dir.de le Foramtion</option> <option>Secrétariat Génerale</option> <option>Autre...</option> </select> </body> </html>
Merciiiiiiiiiiiiiiiii beaucoup
et pour supprimer ????
alors complément d'information nécessaire
peut on supprimer même les premières options ?
perso je dirais non ...
a mon avis il ne faut pas non plus pouvoir supprimer l'option Autre...
la suppression se ferait sur un bouton ...
oui je veux supprimer juste les options ajouté c tt
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 <script type='text/javascript'> function ajouteoption(Obj){ var MesOptions=new Array() if(Obj.options[Obj.selectedIndex].innerHTML=="Autre..."){ var newText=prompt("entrez le texte de l\'option","") if (newText==null ||!newText.lengtht){alert('saisie incorrecte'); return false;} var newOption=document.createElement('option'); newOption.innerHTML=newText for(i=0;i<Obj.options.length-1;i++){ MesOptions.push(Obj.options[i]) } for(i=0;i<MesOptions.length;i++){ Obj.appendChild(MesOptions[i]); } Obj.appendChild(newOption) lastOption=document.createElement('option') lastOption.innerHTML="Autre..." Obj.appendChild(lastOption) setTimeout(function(){Obj.selectedIndex=Obj.options.length-2},500) } } function KillOption(){ var sel=document.getElementById('monselect') if(sel.selectedIndex<7 ||(sel.selectedIndex==sel.options.length)){alert('suppression impossible'); return false;} sel.options[sel.selectedIndex]=null setTimeout(function(){sel.selectedIndex=1},100) } </script> </head> <body> <select name="structure2" id="monselect" onmouseup="setTimeout(function(){ajouteoption(document.getElementById('monselect'))},500)" size="1"> <option>Direction Génerale</option> <option>--------------------</option> <option>Dir.Info-Comm</option> <option>Dir.Pédagogie</option> <option>Dir.de le Foramtion</option> <option>Secrétariat Génerale</option> <option>Autre...</option> </select> <br/> <input type='button' value="supprimer" onclick="KillOption()" /> </body> </html>
Bonjout a tous ;)Citation:
Envoyé par SpaceFrog
Je viens d'essayer ton code mais mnr rien ne marche :(:(:(
ni ajout ni suppression :(
rectification :) ça marche mais pas a 100%
mnt il me dit saisie impossible qd j'ajoute une option et il ne veux meme pas supprimer
que faire ?????:(:(:(
Resalut , c'est normal que :Citation:
Envoyé par SpaceFrog
qd je clique sur Autre et je rajoute une nouvelle option , cette derniere ce rajoute avant Autre , mais aussi en meme temps un Autre ce rajoute a la 1ere position de la liste deroulante c-à-d avant Direction Génerale ?????
Que faire ?
Etudier le code que je t'ai donné, comprendre comment il marche et rectifier les erreurs ?
oui je suis entrain de faire ca mais bon ;)
rien a faire je suis perdue :cry::cry::cry::cry::cry::cry::cry:
c'est facile
tu rajoute a ton select "onChange" qui appel la fonction "toto"
toto doit dans un permier temps reperer si la selection est autre si c'est le cas afficher une fenetre avec un formulaire de saisie a 2champs value et text pour avoir les infos de ta nouvelle option
1er pour savoir l'element tu essai document.getElementById('leselect').options[getElementById('leselect').selected].text == "autre"
quelque chose comme ca
si c 'est ok
tu fai un open window pour ouvrir ton popup contenant ton formulaire avec les 2 champs de saisie et un bouton ok
pour la suite ce que j'appel mere c la page avec le select et fille c'est le formulaire pour définir tes otpions
dans ta mere tu crée une fonction permettant d'ajouter une option a ton select avec 2 parametre value et text (le code est pa tres dur mai pa en tete si tu voi pa di le je le rechercherai)
dans ta fille lors du clic tu verifie t infos tu apel la fonction que ta crée dans ta mere pour appeler c "opener" quelque chose pas tro dur a retrouver aussi la syntaxe exact puis tu close ta fenetre
et la je croi que ta fini
voila
si ta des soucis fais signe mai je pense tavoir donner la methode apres le reste c'est du codage simple et des soucis de syntaxe
(en cherchant sur mes post tu trouvera la plus par de tes problemes mes decomposer en plusieur poste)
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 <script type='text/javascript'> function ajouteoption(Obj){ var MesOptions=new Array() if(Obj.options[Obj.selectedIndex].innerHTML=="Autre..."){ var newText=prompt("entrez le texte de l\'option","") var newOption=document.createElement('option'); newOption.innerHTML=newText lastOption=document.createElement('option') lastOption.innerHTML="Autre..." for(i=0;i<Obj.options.length-1;i++){ MesOptions.push(Obj.options[i]) } MesOptions.push(newOption) MesOptions.push(lastOption) Obj.removeChild(Obj.lastChild) for(i=1;i<MesOptions.length;i++){ Obj.appendChild(MesOptions[i]); } setTimeout(function(){Obj.selectedIndex=Obj.options.length-2},500) } } </script>
ça na marche tjrs pas [IMG]file:///C:/DOCUME%7E1/MZEROU%7E1.CNE/LOCALS%7E1/Temp/moz-screenshot.jpg[/IMG]y a toujours un autre " Autre" qu ise balade entres les options
j'ai une idée
ajoute onChange a ton select qui appel uen fonction comme tu ve
cette fonction doit reperer si la selection est autre
puis ouvrir une fenetre (fille)
la fille doit avoir 2 champs de saisi et un bouton
un champs pour la value et un champs pr le text de ta nouvelle option
dans la fenetre mere tu crée une fonction qui prend 2 parametre (value, text)
et qui ajoute l'option a ton select
dans la fille
lors du clic sur le bouton ok tu verifie t champs et tu appel ta fonction se trouvant dans la mere te permettant d'ajouter une option et enfin tu ferme ta fenetre fille
je pense que la methode est celle ci
si tu ve des morceaux de code di ce que tu veut plus precisement comme partie de code
et tien moi au courant
je doit te dire que j'ai commencé a "vraiment ":cry:toucher au javascript qu'hier