par
Abfab » 09 janv. 2007, 18:21
Bonjour,
J'ai créé un formulaire qui sert de panier. Une fonction Ajouter(form) limite le choix à 4 produits.
Voici le code de "form.htm":
Code : Tout sélectionner
<html>
<head>
<title>Enquiry Form</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Ajouter(form) {
var o=new Option(form.products.value);
form.liste.options[form.liste.options.length]=o;
if(form.liste.options.length>=4){form.add.disabled=true}
else {form.add.disabled=false}
}
function ChangeStatut(button) {
button.disabled=false;
}
function Supprimer(list) {
if (list.options.selectedIndex>=0) {
list.options[list.options.selectedIndex]=null;
} else {
alert("Suppression impossible : aucune ligne sélectionnée");
}
}
function SupprimerTout(list) {
list.options.length=0;
}
//-->
</script>
<script language="JavaScript">
function SelectList(list){
// On compte le nombre d'item de la liste select
n=list.options.length;
// On lance une boucle pour selectionner tous les items
for (a = 0; a<n; a++)
{
list.options[a].selected = true;
}
}
</script>
</head>
<body text="#FFFFFF" bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div class=Section1 align="center">
<form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire">
<table width="800" border="0" name="form" align="left">
<tr>
<td width="150" align="right" rowspan="2">
<div align="right">
<p><font face="Arial, Helvetica, sans-serif" size="2" color="#FF9900"><b><font color="#0099FF">Product</font></b><font color="#000000"><br>
Select up to 4 products</font></font></p>
</div>
</td>
<td width="455" valign="top" rowspan="2">
<p>
<select name="products" size="5" multiple>
<option value="truc1">truc 1</option>
<option value="truc 2">truc 2</option>
<option value="truc 3">truc 3</option>
<option value="truc 4">truc 4</option>
<option value="truc 5">truc 5</option>
<option value="truc 6">truc 6</option>
<option value="truc 7">truc 7</option>
<option value="truc 8">truc 8</option>
<option value="truc 9">truc 9</option>
</select>
<input type="button" name="add" value="Add =>" style="FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #FF9900; font-weight:bold ; color: #003366; width:45px" onClick="Ajouter(this.form)">
<font face="Arial, Helvetica, sans-serif" size="2">
<select name="liste" size=4 style="width:190px" multiple>
</select>
</font></p>
</td>
<td valign="bottom" width="180" height="42"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="button" name="remove" value="Remove selected" valign="bottom" onClick="Supprimer(this.form.liste);ChangeStatut(this.form.add)" style='FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #FF9900; font-weight:bold ; color: #003366; width:110px'>
</font></td>
</tr>
<tr>
<td valign="bottom" height="38" width="180"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="button" value="Remove all" valign="bottom" onClick="SupprimerTout(this.form.liste);ChangeStatut(this.form.add)" name="removeall" style='FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #FF9900; font-weight:bold ; color: #003366; width:110px'>
</font></td>
</tr>
<tr>
<td width="150" align="right" height="72"><font color="#000000" face="Arial, Helvetica, sans-serif" size="2">*
compulsory fields</font></td>
<td colspan="2">
<p><font size="2" face="Arial, Helvetica, sans-serif">
<input type="submit" name="Submit" value="Send" style="FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #3DB7E4; font-weight:bold ; color: #ffffff">
</font><font size="2" face="Arial, Helvetica, sans-serif"><b>
<input type="reset" name="Reset" value="Reset" style="FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #AAAAAA; font-weight:bold ; color: #ffffff">
</b></font></p>
</td>
</tr>
<tr>
<td height="13"></td>
<td height="13"></td>
<td height="13"> </td>
</tr>
<tr>
<td height="422" colspan="3" valign="top">
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
Ensuite j'envoie le form à "envoi.php" :
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?php
$tabListe = (isset($_POST['liste']))?$_POST['liste']:null;
echo "Voici les produits que vous avez choisi :<br>";
// bouclons sur le tableau qui a été transmis et affichons les valeurs sélectionnées
if (!empty($tabListe)) {
foreach($tabListe as $cle => $valeur) {
echo $cle.' : '.$valeur.'<br>';
}
}
?>
</body>
</html>
Pour ce dans "form.htm", il faudrait que je mette :
Mais la fonction Ajouter(form) ne fonctionnne plus dès lors que je met les crochets.
Qq'1 peut-il m'aider?
Bonjour,
J'ai créé un formulaire qui sert de panier. Une fonction Ajouter(form) limite le choix à 4 produits.
Voici le code de "form.htm":
[code]<html>
<head>
<title>Enquiry Form</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Ajouter(form) {
var o=new Option(form.products.value);
form.liste.options[form.liste.options.length]=o;
if(form.liste.options.length>=4){form.add.disabled=true}
else {form.add.disabled=false}
}
function ChangeStatut(button) {
button.disabled=false;
}
function Supprimer(list) {
if (list.options.selectedIndex>=0) {
list.options[list.options.selectedIndex]=null;
} else {
alert("Suppression impossible : aucune ligne sélectionnée");
}
}
function SupprimerTout(list) {
list.options.length=0;
}
//-->
</script>
<script language="JavaScript">
function SelectList(list){
// On compte le nombre d'item de la liste select
n=list.options.length;
// On lance une boucle pour selectionner tous les items
for (a = 0; a<n; a++)
{
list.options[a].selected = true;
}
}
</script>
</head>
<body text="#FFFFFF" bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div class=Section1 align="center">
<form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire">
<table width="800" border="0" name="form" align="left">
<tr>
<td width="150" align="right" rowspan="2">
<div align="right">
<p><font face="Arial, Helvetica, sans-serif" size="2" color="#FF9900"><b><font color="#0099FF">Product</font></b><font color="#000000"><br>
Select up to 4 products</font></font></p>
</div>
</td>
<td width="455" valign="top" rowspan="2">
<p>
<select name="products" size="5" multiple>
<option value="truc1">truc 1</option>
<option value="truc 2">truc 2</option>
<option value="truc 3">truc 3</option>
<option value="truc 4">truc 4</option>
<option value="truc 5">truc 5</option>
<option value="truc 6">truc 6</option>
<option value="truc 7">truc 7</option>
<option value="truc 8">truc 8</option>
<option value="truc 9">truc 9</option>
</select>
<input type="button" name="add" value="Add =>" style="FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #FF9900; font-weight:bold ; color: #003366; width:45px" onClick="Ajouter(this.form)">
<font face="Arial, Helvetica, sans-serif" size="2">
<select name="liste" size=4 style="width:190px" multiple>
</select>
</font></p>
</td>
<td valign="bottom" width="180" height="42"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="button" name="remove" value="Remove selected" valign="bottom" onClick="Supprimer(this.form.liste);ChangeStatut(this.form.add)" style='FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #FF9900; font-weight:bold ; color: #003366; width:110px'>
</font></td>
</tr>
<tr>
<td valign="bottom" height="38" width="180"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="button" value="Remove all" valign="bottom" onClick="SupprimerTout(this.form.liste);ChangeStatut(this.form.add)" name="removeall" style='FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #FF9900; font-weight:bold ; color: #003366; width:110px'>
</font></td>
</tr>
<tr>
<td width="150" align="right" height="72"><font color="#000000" face="Arial, Helvetica, sans-serif" size="2">*
compulsory fields</font></td>
<td colspan="2">
<p><font size="2" face="Arial, Helvetica, sans-serif">
<input type="submit" name="Submit" value="Send" style="FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #3DB7E4; font-weight:bold ; color: #ffffff">
</font><font size="2" face="Arial, Helvetica, sans-serif"><b>
<input type="reset" name="Reset" value="Reset" style="FONT-FAMILY: Arial; FONT-SIZE: 12; BACKGROUND-COLOR: #AAAAAA; font-weight:bold ; color: #ffffff">
</b></font></p>
</td>
</tr>
<tr>
<td height="13"></td>
<td height="13"></td>
<td height="13"> </td>
</tr>
<tr>
<td height="422" colspan="3" valign="top">
</td>
</tr>
</table>
</form>
</div>
</body>
</html>[/code]
Ensuite j'envoie le form à "envoi.php" :
[php]<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?php
$tabListe = (isset($_POST['liste']))?$_POST['liste']:null;
echo "Voici les produits que vous avez choisi :<br>";
// bouclons sur le tableau qui a été transmis et affichons les valeurs sélectionnées
if (!empty($tabListe)) {
foreach($tabListe as $cle => $valeur) {
echo $cle.' : '.$valeur.'<br>';
}
}
?>
</body>
</html>[/php]
Pour ce dans "form.htm", il faudrait que je mette :
[code]<select name="liste[]" size=4 style="width:190px" multiple>[/code]
Mais la fonction Ajouter(form) ne fonctionnne plus dès lors que je met les crochets.
Qq'1 peut-il m'aider?