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 24/06/2011, 23h32   #1
Membre habitué
 
Avatar de Darkyl
 
Homme
autodidacte en recherche d'emploi
Inscription : novembre 2004
Messages : 267
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : autodidacte en recherche d'emploi

Informations forums :
Inscription : novembre 2004
Messages : 267
Points : 100
Points : 100
Par défaut échapper le caractère '

Bonjour,

le titre est explicite et j'ai essayé de remplacé les apostrophes par /' ou ' mais sans succés.
Dés lors que je rajoute la fonction dans onclick j'ai un bug dû aux apostrophes.

Quelqu'un aurait la solution magique svp?

Code :
1
2
 
str+='\t<div id="divSlide'+a+'" class="clSlide"><a href="'+lnk+'" '+tg+'  onclick="lancertraitement('+mesParametres+');" onmouseover="swmenu('+a+',-1,-1);
__________________
Darkyl, celui qui conduit quand il boit pas .(faudra penser passer le permis )
Darkyl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 23h37   #2
Membre confirmé
 
Avatar de provirus
 
Homme Simon Levesque
Consultant informatique
Inscription : février 2009
Messages : 97
Détails du profil
Informations personnelles :
Nom : Homme Simon Levesque
Âge : 26
Localisation : Canada

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : février 2009
Messages : 97
Points : 279
Points : 279
Pour échaper c'est \' et non /' .
C'est le même sens que pour \n \t \r \\ \" ...
provirus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2011, 11h02   #3
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
pourquoi faire une chaîne qui contient du html ?
à part pour en faire des élément du DOM je ne vois pas.

donc pourquoi ne pas utiliser la capacité de js pour créer des élément du DOM directement ?

en agissant ainsi plus de pb de variables de caractères d'échappement etc.

tu peux lire des discussions comme http://www.developpez.net/forums/d25...t-vs-innerhtml
à ce sujet.
ou encore
http://www.developpez.net/forums/d83...ace-innerhtml/
Code :
1
2
3
4
5
6
7
8
9
10
11
12
div = document.createElement('DIV');
div.setAttribute('id','divSlide'+a);
div.setAttribute('class','clSlide');
ahref=document.createElement('A');
ahref.setAttribute('href', lnk);
ahref.onclick = function () {
  lancertraitement(mesParametres);
}
ahref.onclick = function () {
  swmenu(a, -1, -1);
}
div. onmouseover(ahref);
note qu'a aucun moment je n'ai besoin de ' ou de " pour affecter mes variables à des attributs HTML. Cela ce fait naturellement ex la ligne
Code :
ahref.setAttribute('href', lnk);
à la place de
Code :
str+=' href="'+lnk+'" '
C'est tout de même beaucoup plus claire et sans risque d'erreur.
A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2011, 11h57   #4
Membre habitué
 
Avatar de Darkyl
 
Homme
autodidacte en recherche d'emploi
Inscription : novembre 2004
Messages : 267
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : autodidacte en recherche d'emploi

Informations forums :
Inscription : novembre 2004
Messages : 267
Points : 100
Points : 100
merci provirus pour le slash antislash,l'erreur venait de là.

Concernant dom, ce script fait partis d'un menu qui se génére dynamiquement et je voulais ajouter un onclick avec le nom du menu qui le déclenche et cela marche nikel maintenant.
sekaijin, je te remercie pour ta piste, je vais tester cela des que j'aurais un moment, je savais pas que l'on pouvait créer des objets dynamiquement avec javascript sans interpréter un string.

Merci a tous et tag résolu.
Bonne programmation à vous.
__________________
Darkyl, celui qui conduit quand il boit pas .(faudra penser passer le permis )
Darkyl 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 02h46.


 
 
 
 
Partenaires

Hébergement Web