IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[Javascript/PHP] erreur etrange Ie/Mozilla


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut [Javascript/PHP] erreur etrange Ie/Mozilla
    probleme etrange sous IE , j ai une erreur de syntaxe du a un chaine ecrite sur plusieurs lignes type, l erreur vient du fait que je me retrouve en checkant mon code source sous IE (et seulement sous IE) avec un code javascript du type : (le ca marchera pas etant en fait une var PHP)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var t = "ca marchera
    pas";
    bizarrement cette erreur ne survient que dans un cas precis sous IE seulement

    je m explique,

    suivant le cas la variable est vient d une var php ecrite en dur ou provenant de l entrée utilisateur via post.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <script type="text/javascript">
    <?php
    if (@isset($_POST['posted_html'])) {
    	$annonce = urldecode($_POST['posted_html']);
    	$annonce = str_replace('\n','',$annonce);
    	$annonce = str_replace('\r','',$annonce);
    }
     
    else {
    	$annonce = "<h1>Titre</h1><h2>Sous titre</h2><h3>Entete</h3><p>annonce</p><h4>signature</h4>";
     
    }
     
    ?>
     
    function init_annonce() {
     
    	editor().innerHTML = $annonce;	
    }
    </script>
    sous mozilla , aucun probleme meme dans le cas post
    pourtant en postant exactement la meme chose sous ie , le navigateur signale une erreur javascript "constante chaine non terminée" (en effet en regardant le code source on voit bien que la déclaration de chaine contient des retours lignes , ce qui est pour le moins etrange ... ca inspire quelqu un ?

  2. #2
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var t = "ca marchera
    pas";
    C'es interdit un point c'est tout...

    tu dois écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var t = "ca marchera\ntrès bien !";
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    heu une variable chaine n'accepte pas de retour ligne dans sa syntaxe ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    je crois qu on s est mal compris

    var t = "ca marchera
    pas";

    n etais donné qu a titre d exemple ...

    je n est pas ecrit ca dans code , c etais pour expliquer le type d erreur.

    il n y a pas de retour a la ligne dans la variable , elle vient de php et je prends meme la peine de retirer les eventuels \r et \n avec str_replace

    donc pour etre sur d etre clair le code ou y a probleme qui fait bugger IE


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function init_annonce() {
     
    editor().innerHTML = "<?php echo $annonce;?>";
    }
    sachant que dans mon cas post en checkant le code source HTML sous IE j ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function init_annonce() {
     
    	editor().innerHTML = "<H1>Titre</H1>
    <H2>Sous titre</H2>
    <H3>Entete</H3>
    <P>annonce</P>
    <H4>signature</H4>";
     
    }

    Et sous firefox ca donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function init_annonce() {
     
    	editor().innerHTML = "<h1>Titre</h1><h2>Sous titre</h2><h3>Entete</h3><p>annonce</p><h4>signature</h4>";
     
    }

  5. #5
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    tu confonds javascript et PHP... JS ne peux pas utiliser les variables PHP....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	editor().innerHTML = $annonce;
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  6. #6
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function init_annonce() {
     
    editor().innerHTML = "<?php echo $annonce;?>";
    }
    dans la mesure ou je mets des balises php avant echo $annonce je vois pas ou est le souci..

  7. #7
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    avec cet echapement ca marche sous les deux nav

    $annonce = preg_replace("#\r\n|\r|\n#s", "\\r\\n", $annonce);

  8. #8
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Citation Envoyé par venomelektro
    avec cet echapement ca marche sous les deux nav

    $annonce = preg_replace("#\r\n|\r|\n#s", "\\r\\n", $annonce);
    +1


    chr 10/ chr 13
    les retour chariot sont différents suivant les éditeurs/browers

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 17
    Dernier message: 29/04/2008, 21h53
  2. cryptage assymetrique de mot de passe(javascript/PHP)
    Par chess132 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 25/10/2005, 13h04
  3. [Javascript / PHP] Tooltip sur une ligne php
    Par tchoukapi dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/10/2005, 17h12
  4. [g++] message erreur etrange
    Par infotron dans le forum Autres éditeurs
    Réponses: 15
    Dernier message: 19/09/2004, 23h14
  5. [TWebBrowser][Javascript] Ignorer erreurs Javascript
    Par ludo.guy dans le forum Composants VCL
    Réponses: 3
    Dernier message: 09/01/2004, 01h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo