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
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;
	}
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..


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
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 voudrais qu'il pr�-affiche ce qu'on a coch� dans la deuxi�me liste.
Je voulais le faire avec un
Code : S�lectionner tout - Visualiser dans une fen�tre � part
Onchange="document.getElementById('item').value = this.value;"
mais je ne pense pas qu'on puisse mettre deux onChange dans un select, si??

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...