Bonjour à tous,
Voilà mon souci :
Je construit un select avec des options venant d'une base de données :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
echo "<INPUT type='hidden' name='service'>";
echo "<SELECT name='choix_service' onchange=Maj_Service()>";
echo"<OPTION value=''>";
$sql="select distinct service,etab_court from service";
$cursor=odbc_do($conn, $sql);
while (odbc_fetch_row($cursor)) 
{
   $service=odbc_result($cursor, "service");
   $etab_court=odbc_result($cursor,"etab_court");
   echo "<OPTION value='$service' >$etab_court $nbsp$nbsp $service";
  }
echo"</SELECT>";
A chaque changement du choix dans le select j'apelle une fonction qui récupère la valeur et l'affecte à un input hidden du même formulaire.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
function Maj_Service() 
{
   this.incident.service.value=this.incident.choix_service.value;
   alert (this.incident.choix_service.value); // pour tester
}
Le problème survient quand j'ai une chaine dans l'option value du select qui contient une simple cote : un alert dans la fonction js montre que la chaine est coupée par cette cote : Système d'information devient Système d.

J'ai essayé de remplacer les ' en les doublant '', et aussi avec \' mais ça coupe quand même.
Quelqu'un pourrait m'aider ?
Merci d'avance

Pour info, le texte contenu dans le libellé de l'option (
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$etab_court $nbsp$nbsp $service
) s'affiche lui correctement, puisqu'entre doubles cotes...