Transmission de toute une liste à une autre page. - HTML/CSS - Programmation
Marsh Posté le 21-02-2005 à 12:19:48
ouais c'est ça mais ca dépend de la forme de ta liste...
si tu peux la générer en php c plus pratique que la taper à la main !
voila à quoi ca peut ressembler :
<input type="hidden" name="liste[]" value="a" />
<input type="hidden" name="liste[]" value="b" />
=> lecture en php : $_POST[liste][0] = 'a' ...
tu peux mm faire des tableaux associatifs :
<input type="hidden" name="liste[a]" value="1" />
<input type="hidden" name="liste[b]" value="2" />
voili voilou !
Marsh Posté le 22-02-2005 à 10:36:17
ba ouhai mais nan, il me faudrait ca pour du javascript...
Mon code actuel:
<script language="JavaScript">
var i=-1;
var k=-1;
function fctchangecote()
{
// document.form2.select1.option.value;
var contrax = document.form1.select1TypePers.options.selectedIndex;
var ValInter = document.form1.select1TypePers.options[contrax].text;
if(ValInter != ''){
i++;
var op = new Option(ValInter,ValInter);
document.form1.select2TypePers.options[i] = op;
var contrax = document.form1.select1TypePers.options.selectedIndex;
document.form1.select1TypePers.options[contrax].text= '';
var h = concat ((h)(-;-));
h = concat ((h)(contrax));
}
return false;
}
function fctchangecote2()
{
var contrax = document.form1.select1Entite.options.selectedIndex;
var ValInter = document.form1.select1Entite.options[contrax].text;
if(ValInter != ''){
k++;
var op = new Option(ValInter,ValInter);
document.form1.select2Entite.options[k] = op;
var contrax = document.form1.select1Entite.options.selectedIndex;
document.form1.select1Entite.options[contrax].text= '';
}
return false;
}
function TransmiTypePers()
{
var TransmiTypePers = document.form1.select2TypePers.options.values;
}
</script>
<?php
// connection à la base de donnée QuiFaitQuoi via la page de connection : connectionmysql.php
include "connectionmysql.php";
?>
<html>
<head>
<title>AjoutDemande</title>
</head>
<body>
<form name="form1" method="get" action="./ResultatInsertNewDemande.php" onSubmit="TransmiTypePers()">
<table width="100%" border="0">
<tr>
<td width="32%"></td>
<td width="44%"></td>
<td width="24%"></td>
</tr>
<tr>
<td>Nom de la demande:</td>
<td>
<input type="text" name="TxtNomDemande">
</td>
<td> </td>
</tr>
<tr>
<td>Remarque</td>
<td>
<input type="text" name="TxtRemarque">
</td>
<td> </td>
</tr>
<tr>
<td>Pour quel type de pers cette demande est-elle?</td>
<td>
<select name="select1TypePers" multiple>
<?php
$sql = "SELECT TypePers FROM Personne";
$ReqLog = mysql_query($sql);
while ($resultat = mysql_fetch_row($ReqLog)) {
echo '<option value="'.$resultat[0].'">'.$resultat[0].'</option>';
}
?>
</select>
<input type="button" name="Submit2" value="Basculer en zone de séléction" onClick="fctchangecote()">
</td>
<td>
<select name="select2TypePers" multiple>
</select>
</td>
</tr>
<tr>
<td>Pour kel entitée?</td>
<td>
<select name="select1Entite" multiple>
<?php
$sql = "SELECT NomEntité FROM entite";
$ReqLog = mysql_query($sql);
while ($resultat = mysql_fetch_row($ReqLog)) {
echo '<option value="'.$resultat[0].'">'.$resultat[0].'</option>';
}
?>
</select>
<input type="button" name="Submit22" value="Basculer en zone de séléction" onClick="fctchangecote2()">
</td>
<td>
<select name="select2Entite" multiple>
</select>
</td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>
</table>
<div align="center">
<input type="submit" name="Submit" value="Valider">
</div>
</form>
<p> </p>
<p> </p>
</body>
</html>
Marsh Posté le 22-02-2005 à 13:29:46
geor... que veux-tu faire exactement?
Je sens bien le truc :
une fois que tu as passé tes valeurs dans la liste2, tu veux poster et récupérer ces valeurs (j'imagine), ben suffit que sur le submit, tu fasses juste avant une boucle sur ta liste2 pour sélectionner tous les items de la liste.
genre (cf mon code pour ton autre post)
for(i=0;document.forms[0].liste2.options.length;i++) {
document.forms[0].liste2.selectedIndex=i;
}
après tu submites=>
document.forms[0].submit();
et voilà dans ton $_post["liste2"] tu as ta liste (sûrement séparé par des ";" , à vérifier.
Marsh Posté le 22-02-2005 à 13:47:28
en gros, ca fait comme un concat qu'on met dans une variable caché qu'on récupère dans la deuxième... nan?
Marsh Posté le 22-02-2005 à 14:25:56
oui, en gros, sauf que là tu n'as pas besoin de faire une autre variable et concaténer à la main.
Marsh Posté le 21-02-2005 à 10:29:15
Comment transmettre a une autre page toute une liste? (on m'a parlé du hiden, ...
Merci.