Bonjour!
Alors voilà mon problème :
j'ai une boucle 'foreach' qui devrait me permettre de remplacer tous mes titres de colonne dans un tableau les uns après les autres.
Pour éviter le renommage aléatoire, je cherche à proposer des noms au futur utilisateur à l'aide de deux listes déroulantes liées. Cette valeur devra apparaître dans un champ texte auquel il n'auront plus qu'à ajouter un numéro.
Problème n°1 : mes deux listes sont bien liées or de la boucle, mais dès que je les mets dedans, elles ne se reconnaissent plus.
Problème n°2 : je n'arrive pas à récupérer la valeur de la deuxième liste pour la mettre dans un champ texte.
interface.js
Dans le script js filltheselect il faut apparemment que j'ajoute un argument pour indiquer quel select il faut modifier mais je ne sais pas comment m'y prendre..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 var table = new Array; table[0] = new Array("ARN_", "ARN"); table[1] = new Array("CENTER_", "CENTER"); table[2] = new Array("CONTRIBUTORS_", "CONTRIBUTORS"); var champs=new Array; champs["ARN_"] = new Array; //ARN champs["ARN_"][0] = new Array("t0c0", "ARN-ID_ARN"); champs["ARN_"][1] = new Array("t0c1", "ARN-RIN"); champs["ARN_"][2] = new Array("t0c2", "ARN-ID_YIELD"); champs["ARN_"][3] = new Array("t0c3", "ARN-ID_QUANTITY"); champs["ARN_"][4] = new Array("t0c4", "ARN-ID_MITOSE"); champs["ARN_"][5] = new Array("t0c5", "ARN-ID_MIT_NB"); champs["CENTER_"] = new Array; //CENTER champs["CENTER_"][0] = new Array("t1c0", "CENTER-ID_CENTER"); champs["CENTER_"][1] = new Array("t1c1", "CENTER-NAME_CENTER"); champs["CONTRIBUTORS_"] = new Array; //CONTRIBUTORS champs["CONTRIBUTORS_"][0] = new Array("t2c0", "CONTRIBUTORS-ID_CONTRIB"); champs["CONTRIBUTORS_"][1] = new Array("t2c1", "CONTRIBUTORS-NAME_CONTRIB"); function filltheselect(liste, choix) { raz("listechamps"); for (i=0; i<champs[choix].length; i++) {new_option = new Option(champs[choix][i][1],champs[choix][i][0]); document.formu.elements["listechamps"].options[document.formu.elements["listechamps"].length]=new_option; } } function raz(liste) {l=document.formu.elements[liste].length; for (i=l; i>=0; i--) document.formu.elements[liste].options[i]=null; }
interface.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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 <html> <head> <title>Interface</title> <script type='text/javascript' src='interface.js'></script> </head> <body> <?php echo "<form action='remplacer.php' method='POST' name='formu'>"; $i = 0; foreach ($titres as $nom_col){ echo "<div style='margin-top:20px' id='bloc_parent_$i'>"; echo "<select name='listetable_$i' onChange='filltheselect(this.name, this.value)'>"; echo "<script language='javascript'> for (i=0; i<table.length; i++) document.write('<option value=\'' +table[i][0]+ '\'>' +table[i][1]); </script>"; echo "</select>"; echo "<select name='listechamps_$i' onChange='filltheselect(this.name, this.value)'>"; echo "<script language='javascript'> for (i=0; i<champs['t0'].length; i++) document.write('<option value=\'' +champs['t0'][i][0]+ '\'>' +champs['t0'][i][1]); </script>"; echo "</select><br>"; echo "$nom_col remplacer par : <input type = 'text' name='titre[$nom_col]' id='item' value='' >"; echo "</div>"; $i++; } echo "<input type='submit' name='envoyer' value='envoyer'>"; echo "</form>"; ?> </body> </html>
Dans cette partie
je voudrais qu'il pré-affiche ce qu'on a coché dans la deuxième liste.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part echo "$nom_col remplacer par : <input type = 'text' name='titre[$nom_col]' id='item' value='' >";
Je voulais le faire avec un
mais je ne pense pas qu'on puisse mettre deux onChange dans un select, si??
Code : Sélectionner tout - Visualiser dans une fenêtre à part Onchange="document.getElementById('item').value = this.value;"
Je sais j'en demande beaucoup mais je débute et ça fait plusieurs jours que je suis dessus et là je m'en sors pas...![]()
Partager