Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/01/2011, 09h48   #1
Nouveau Membre du Club
 
Avatar de pitoumad
 
Inscription : décembre 2009
Messages : 81
Détails du profil
Informations personnelles :
Âge : 37

Informations forums :
Inscription : décembre 2009
Messages : 81
Points : 29
Points : 29
Par défaut simple cote et passage de valeur dans js

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

Code :
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 :
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 :
$etab_court $nbsp$nbsp $service
) s'affiche lui correctement, puisqu'entre doubles cotes...
__________________
"La seule chose promise d’avance à l’échec, c’est celle que l’on ne tente pas." Paul-Emile Victor
pitoumad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2011, 14h19   #2
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
Utilise htmlentities() (qui convertira les caractères) puis ensuite pour decoder: html_entity_decode()

Ca marche?
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2011, 16h17   #3
Nouveau Membre du Club
 
Avatar de pitoumad
 
Inscription : décembre 2009
Messages : 81
Détails du profil
Informations personnelles :
Âge : 37

Informations forums :
Inscription : décembre 2009
Messages : 81
Points : 29
Points : 29
Après un coup d'oeil à cette fonction, j'ai réussi à adapter d'une autre façon, avec le code suivant :
Code :
 $service=str_replace("'", "&#039;",$service);
et ça fonctionne !

Merci et bonne soirée
__________________
"La seule chose promise d’avance à l’échec, c’est celle que l’on ne tente pas." Paul-Emile Victor
pitoumad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h13.


 
 
 
 
Partenaires

Hébergement Web