JS : échapper des quotes
9 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
JS : échapper des quotes
J'ai un bout de code à générer via un document.write("");
ça ressemble à :
Mais, comment échapper les backslash ? Si je supprimes les quotes de document.write() ça fonctionne pour IE ou Gecko, mais d'autre navigateur n'aime pas (Opéra pou rne citer que lui en premier), ce qui est plutôt normal.
Quelqu'un à une solution miracle ?
ça ressemble à :
- Code: Tout sélectionner
<script type="text/javascript">
document.write(" <label for="truc">Ma ville <sup>*</sup></label>
<input type="hidden" name="ville" id="ville" value="<?=$ville?>" />
<input type="text" name="q" id="truc" value="<?=$ville?>"
onkeypress="if(this.value.length > 1){maFonction()};"
onfocus="this.className='formActiv'"
onblur="this.className=''" />")
</script>
Mais, comment échapper les backslash ? Si je supprimes les quotes de document.write() ça fonctionne pour IE ou Gecko, mais d'autre navigateur n'aime pas (Opéra pou rne citer que lui en premier), ce qui est plutôt normal.
Quelqu'un à une solution miracle ?
Ca marche ça ?
- Code: Tout sélectionner
<script type="text/javascript">
document.write(" <label for=\"truc\">Ma ville <sup>*</sup></label>
<input type=\"hidden\" name=\"ville\" id=\"ville\" value=\"<?=$ville?>\" />
<input type=\"text\" name=\"q\" id=\"truc\" value=\"<?=$ville?>\"
onkeypress=\"if(this.value.length > 1){maFonction()};\"
onfocus=\"this.className='formActiv'\"
onblur=\"this.className=''\" />");
</script>
Et j'ajouterais qu'il est préférable d'"échapper" les '/' pour les fermetures de balises :
</a> devient <\/a> ; </div> devient <\/div> ; etc...
Ceci afin de suivre les recomandations W3C et donc, de ne pas avoir de messages d'erreurs lors du test de validation.
</a> devient <\/a> ; </div> devient <\/div> ; etc...
Ceci afin de suivre les recomandations W3C et donc, de ne pas avoir de messages d'erreurs lors du test de validation.
Source : SELFHTML
SELFHTML a écrit:Avec <script> vous introduisez un passage Script, avec </script> vous mettez fin au passage Script. Dans ce passage, vous pouvez noter des instructions du langage script utilisé. Du point de vue de HTML, tout ce qui figure dans ce passage est considéré comme du "pur texte". De ce fait, des conflits peuvent en fin de compte survenir entre un langage tel que JavaScript et un analyseur (syntaxique HTML) strictement conforme SGML. Un tel analyseur de syntaxe considère le passage script comme terminé dès qu'il rencontre la prochaine chaîne de caractères </. Quand vous avez besoin de cette chaîne de caractères dans JavaScript comme dans l'exemple ci-dessus dans la dernière instruction où à l'aide de document.write un titre N°1 est écrit dans le document. À la fin du texte est mentionné là <\/h1> à la place de </h1>. La barre oblique inverse (Backslash) sert en JavaScript à masquer le signe qui la suit, ce qui dans l'exemple à l'endroit où elle est placée et du point de vue de JavaScript ne signifie rien d'autre et n'a pas d'autre effet. La barre oblique inverse n'est pas non plus conçue pour l'interpréteur JavaScript mais pour les analyseurs syntaxiques HTML tatillons.
Pour Opéra oui...!
Par contre le validateur n'aime pas, et les navigateurs du coup non plus...
Ca ressemble à ça :
Ca s'affiche, mais j'ai un onclick qui doit me remplir le value="" via getElementById('myId') mais il ne fonctionne pas !
Et le validateur me refuse tout en bloc (element p not allowed par exemple).
Grmbl!
Par contre le validateur n'aime pas, et les navigateurs du coup non plus...
Ca ressemble à ça :
- Code: Tout sélectionner
<script type="application/javascript">
document.write("<p><label for=\"myId\">Ma ville <sup>*<\/sup><\/label><input type=\"text\" name=\"q\" id=\"myId\" value=\"<?=$ville?>\" onkeypress=\"if(this.value.length > 1){myFunction()};\" onfocus=\"this.className='formActiv'\" onblur=\"this.className=''\" /><\/p>");
</script>
Ca s'affiche, mais j'ai un onclick qui doit me remplir le value="" via getElementById('myId') mais il ne fonctionne pas !
Et le validateur me refuse tout en bloc (element p not allowed par exemple).
Grmbl!
9 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- [Google] In Quotes
- échapper à la pub de l'hébergeur
- Magic Quotes et Safe_Mode
- échapper les points d'interrogation...
- Sécurité avec PHP et 'Magic Quotes'
- Problème d'échappement de quote - double quotes
- Url rewriter les reponses, quotes, nouveaux topics de phpbb
- Echapper au filtrage de contenu pour sexe quand pas de sexe
Consultez la description détaillée des produits ou services de Google suivants : Google WebQuotes
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum