Page 1 sur 1
recuperer des element d'une liste quand il ya des espaces!
Posté : 02 févr. 2006, 15:53
par isatis28
Bonjour,
J'ai une liste deroulante et je dois recuperer l'item selectionenr. jusque la j'y arrive mais lorsque il y a des espaces, seul le premier mot est prit en compte. Voici un exemple:
<SELECT name=aliment onchange=lulu(this.form.elements.aliment.options[this.form.elements.aliment.selectedIndex].value)>
<option>ici la bas </option>
<option> truc bidule </option>
<option>machin</option></select>
Ici dans ma fonction lulu si je selectionne le premier item, seul le mot ici sera prit en compte, et non l'integralité de l'expression.La je dois dire que je seche!
merci d'avance
Posté : 02 févr. 2006, 15:59
par Cyrano
Utilise une syntaxe conforme et ça va fonctionner même avec des espaces:
<select name="aliment" onchange="lulu(this.form.elements.aliment.options[this.form.elements.aliment.selectedIndex].value)">
<option>ici la bas </option>
<option> truc bidule </option>
<option>machin</option>
</select>
Différence ? Le guillemets.
Posté : 02 févr. 2006, 16:08
par isatis28
j'ai fait un copier/coller de mon code et la liste est créée en php il n'y a donc pas deguillemt, car son contenu est extrait d'un BD. J'ai neamoins essayé avec des simples quotes mais cela ne donne rien! Il y a peut etre une syntaxe particulière pour rajouter des guillemets dans des guillemets?
Posté : 02 févr. 2006, 16:11
par isatis28
J'ai egalement essayé de metter le select en dehors su script php de façon a mettre des guillemets, mais il n'y a toujours qu'un seul mot de prit en compte.
Posté : 02 févr. 2006, 16:20
par Cyrano
Ne voyant qu'un bout de code HTML, je n'ai aucune idée de ce qui cloche dans ton code PHP...
Posté : 02 févr. 2006, 16:24
par isatis28
Voici mon code
$con= mysql_connect ($serv,$log,$pass) or die ("erreur de connection");
mysql_select_db($base,$con) or die ("erreur de selection");
echo "selectionnez un plat:";
echo "<SELECT name='aliment' onchange='lulu(this.form.elements.aliment.options[this.form.elements.aliment.selectedIndex].value)'>";
$sisi="select DISTINCT Aliment from $table4;";
$sasa=mysql_query($sisi,$con) or die ('erreur requete');
while ($row=mysql_fetch_row($sasa)){
for($i=0;$i<count($row);$i++) {echo"<option value=$row[$i]>$row[$i]</option>";}}echo"</select>"; ?>
<script language ="javascript">
function lulu(form)
{
alert(form);}
Les elements de ma liste sont bien conforme a ma BDN, mais quand je recupère le form, seul un mot est prit en compte.
Posté : 02 févr. 2006, 16:31
par Cyrano
Essaye comme ça :
<?php
$con= mysql_connect ($serv,$log,$pass) or die ("erreur de connection");
mysql_select_db($base,$con) or die ("erreur de selection");
?>
selectionnez un plat:
<SELECT name="aliment" onchange="lulu(this.form.elements.aliment.options[this.form.elements.aliment.selectedIndex].value)">
<?php
$sisi="select DISTINCT Aliment from $table4;";
$sasa=mysql_query($sisi,$con) or die ('erreur requete');
while ($row=mysql_fetch_row($sasa))
{
for($i=0;$i<count($row);$i++)
{
?>
<option value="<?php echo($row[$i]); ?>"><?php echo($row[$i]); ?></option>
<?php
}
}
?>
</select>
<script language ="javascript">
function lulu(form)
{
alert(form);
}
Posté : 02 févr. 2006, 16:38
par isatis28
C'est bon ça marche impecable, merci bcp!