Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
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 03/10/2011, 17h41   #1
Invité de passage
 
Inscription : août 2011
Messages : 9
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 9
Points : 1
Points : 1
Par défaut Guillemets, php et js

Bonjour à tous,

Je viens vers vous parce que j'ai un petit souci de quottes...

La console d'erreur de firefox me dit "unterminated string literal" et je ne vois pas du tout pourquoi.

Voici le bout de code en question en php (j'ai réduit pour que ce soit plus lisible) :

Code php :
1
2
3
4
5
6
7
8
9
10
11
$js_os_select='<div id="containerOneOS"><select name="OS" id="newOSselect" onchange="displayDistrib(this.id);">
<option value="0" />Sélectionner un système d exploitation';
 
$js_os_select.='</select></div><div id="containerOneWin"></div><div id="containerOneMac"></div><div id="containerOneLux"></div>';
 
 
echo
'<script type="text/javascript">
    var os_select=\' '.addslashes($js_os_select).' \';
 
echo '</script>';


Et voici l'erreur exacte de firefox :

Citation:
Erreur : unterminated string literal
Fichier Source : http://127.0.0.1/procedures/popup_mo...Proc.php?id=19
Ligne : 32, Colonne : 18
Code Source :
var os_select='<div id=\"containerOneOS\"><select name=\"OS\" id=\"newOSselect\" onchange=\"displayDistrib(this.id);\">


J'ai beau essayer en changeant simple/double quottes, avec et sans addslashes, mais j'ai toujours la même erreur... Je tourne en rond depuis plusieurs heures et ça commence à m'énerver un peu !
J'ai vérifié le code source de la page et pour moi ça me paraît bon, mais j'ai forcément une erreur.

Est-ce que vous voyez d'où ça vient ?
kopros2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 17h57   #2
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 690
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 690
Points : 5 763
Points : 5 763
Bonjour,

Il semblerait que cette instruction-ci soit sur deux lignes dans votre code :

Code php :
1
2
3
 
$js_os_select='<div id="containerOneOS"><select name="OS" id="newOSselect" onchange="displayDistrib(this.id);">
<option value="0" />Sélectionner un système d exploitation';

Ce qui est fâcheux car il n'y a aucune indication d'un étalement sur plusieurs lignes.

Soit vous mettez tout sur une ligne :

Code :
1
2
 
$js_os_select='<div id="containerOneOS"><select name="OS" id="newOSselect" onchange="displayDistrib(this.id);"><option value="0" />Sélectionner un système d exploitation';
Soit vous faites la concaténation (pas sûr que ça marche, je ne fais pas de php), c'est le tout petit point après la première ligne et les simples quottes :

Code :
1
2
3
$js_os_select='<div id="containerOneOS"><select name="OS"id="newOSselect" onchange="displayDistrib(this.id);">' . 
'<option value="0" />Sélectionner un système d exploitation';
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 18h08   #3
Invité de passage
 
Inscription : août 2011
Messages : 9
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 9
Points : 1
Points : 1
Merci beaucoup c'est exactement ça !
La concaténation ne fonctionne pas avec un simple point (ça doit être autre chose en php, je rechercherai ça), j'ai donc tout mis sur une seule ligne et il n'y a plus de problème.

Encore merci
kopros2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 19h05   #4
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 690
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 690
Points : 5 763
Points : 5 763
Par défaut :o

Au plaisir.

Par contre, je reste perplexe parce que je continue de penser que la concaténation fonctionne. Peut-être n'est-ce qu'avec des doubles quottes ? Ou bien en mettant le point sur la deuxième ligne ? Aviez-vous bien rajouté les quottes autour du point (fin de première ligne et début de seconde) ?

Au pire, il reste la syntaxe que vous aviez déjà utilisé :

Code php :
1
2
3
$js_os_select='<div id="containerOneOS"><select name="OS"id="newOSselect" onchange="displayDistrib(this.id);">';
$js_os_select.='<option value="0" />Sélectionner un système d exploitation';
__________________
Elen Poukram - Isegoria - Sandawe
vermine 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 19h23.


 
 
 
 
Partenaires

Hébergement Web