recuperer des element d'une liste quand il ya des espaces!

Eléphant du PHP | 64 Messages

02 févr. 2006, 15:53

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

Mammouth du PHP | 19672 Messages

02 févr. 2006, 15:59

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 64 Messages

02 févr. 2006, 16:08

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?

Eléphant du PHP | 64 Messages

02 févr. 2006, 16:11

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.

Mammouth du PHP | 19672 Messages

02 févr. 2006, 16:20

Ne voyant qu'un bout de code HTML, je n'ai aucune idée de ce qui cloche dans ton code PHP...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 64 Messages

02 févr. 2006, 16:24

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.

Mammouth du PHP | 19672 Messages

02 févr. 2006, 16:31

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);
}
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 64 Messages

02 févr. 2006, 16:38

C'est bon ça marche impecable, merci bcp!