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 :

Saut de page et textarea


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut Saut de page et textarea
    Bonjour,

    Malgré la lecture de nombreux posts à ce sujet, je n'arrive pas à résoudre mon problème :

    a) L'affichage, dans un textarea, d'un texte avec saut de ligne (issu d'une base mysql via appel ajax) provoque une erreur "chaîne non terminée".


    b) Si je fais, avant l'affichage, str_replace("\r\n","\\r\\n",$machaîne), je n'ai plus d'erreur mais le saut de ligne est remplacé, dans mon textarea, par \r\n.


    J'ai du mal comprendre quelque chose...

    Quelqu'un a t'il une idée ?

    Bonsoir

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Tu peux passer ton code qui récupère la chaine de MySQL et la renvoie via AJAX ?

    ERE

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    dans un textarea le saut de ligne est %0A de mémoire, pas \r\n donc le replace devient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    str_replace("\r\n","%0A",$machaîne)
    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
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Merci pour vos réponses.

    Mais, si j'effectue
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace("\r\n","%0A",$machaîne)
    , alors j'ai "%0A" qui s'affiche dans le textarea et non un saut de ligne.

    Pour répondre à Emmanuel, voici mon code :


    a) Extraits de la page php appelée par ajax


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    header('Content-Type: text/html;charset=UTF-8');
    ...
    select sur une table contenant un champ text "comment"
    ...
    echo '<textarea style="width:100%;height:30pt;padding:0;margin:0" class="comments">'.str_replace("\r\n","\\r\\n",$rec['comment']).'</textarea>';


    b) Appel ajax

    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
    22
    function appelajax(ajmod, navig, v1)
    {
    var xhr=null;
    if(window.XMLHttpRequest) {xhr=new XMLHttpRequest();}
    else if(window.ActiveXObject) {try {xhr = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {try {xhr = new ActiveXObject("Microsoft.XMLHTTP");} catch (e1) {xhr = null;}}}
    else {alert("Votre navigateur n\'autorise pas les appels ajax");}
    if(xhr!=null)
    {
    xhr.open("POST", "script4.php", ajmod);
    if((navig="ff")||(ajmod==true))
    {
    xhr.onreadystatechange = function()
    {
    if(xhr.readyState == 4 && xhr.status == 200) {eval(xhr.responseText);}
    }
    }
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.send("v1="+v1);
    if((navig=="ff")&&(ajmod!=true)) {eval(xhr.responseText);}
    delete xhr;
    }
    }

  5. #5
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    essaye ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace("\r\n",chr(13)+chr(10),$machaîne)
    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 !

  6. #6
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    je viens de tester, mais là, je repars sur une erreur "constante chaîne non terminée"

    Philippe

  7. #7
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Juste pour info il y a effectivement plusieurs posts sur le net qui remontent ce souci, mais jamais de réponse franche. De mon côté je viens de faire un test Ajax+Mysql+textarea et tout fonctionne correctement

    D'autre part, es tu sûr de ton code AJAX qui fait un eval alors que tu renvoies du code HTML ? Quel est le texte complet que te renvoie ton appel AJAX ?

    ERE

  8. #8
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Bonjour,

    Merci pour votre aide.

    * SpaceFrog : où places tu le decodeurlcomponent ?


    * Emmanuel : l'instruction evoyée à eval est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<textarea style="width:100%;height:30pt;padding:0;margin:0" class="comments">'.str_replace("\r\n","\\r\\n",$rec['comment']).'</textarea>';
    $rec['comment'] est issu d'un select sur une table contenant un champ text "comment"

    Philippe

  9. #9
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    le texte comment comporte-t-il des ' ou des " ?

    il à peut etre besoin d'un addslashes ?
    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 !

  10. #10
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    a) Voici ce que je saisis dans le textarea :

    ligne 1 : Test avec quote ', symbole € et saut de page
    ligne 2 : suite


    b) Voici ce qui est enregistré dans ma base :

    ligne 1 : Test avec quote ', symbole € et saut de page
    ligne 2 : suite



    c) Voici ce qui est affiché dans mon textarea si je le "recharge" en ajax à partir de ma base après avoir appliqué str_replace("\r\n","\\r\\n"....) :

    ligne 1 : Test avec quote ', symbole € et saut de page\r\nligne 2 : suite


    Philippe

  11. #11
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    et si tu triple le \ ?
    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 !

  12. #12
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par Pgs Voir le message
    echo '<textarea style="width:100%;height:30pt;padding:0;margin:0" class="comments">'.str_replace("\r\n","\\r\\n",$rec['comment']).'</textarea>';
    Ça c'est l'instruction PHP qui génère la réponse.
    Peux-tu faire un copié/collé de la réponse elle-même (le résultat de cette instruction PHP) ?
    C'est elle que reçoit le nav ...

    A+

  13. #13
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Voici la réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea style="width:100%;height:30pt;padding:0;margin:0" class="comments">ligne 1 : Test avec quote ', symbole € et saut de page\r\nligne 2 : suite</textarea>

  14. #14
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Ben moi, si je fais un eval() de ce code HTML, j'ai une erreur.

    Et je m'y attendais un peu, vu que le eval() sert à évaluer une instruction JavaScript.

    Ta méthode n'est simplement pas la bonne.

    A+

  15. #15
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    le \r\n n'est pas le retour ligne dans un textarea ...
    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 !

Discussions similaires

  1. Textarea avec marque de saut de page
    Par beral dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/11/2008, 20h38
  2. [Rave Report] les sauts de page
    Par Isa31 dans le forum Rave
    Réponses: 4
    Dernier message: 14/10/2004, 18h51
  3. [VBA] Saut de page...
    Par _Maniak dans le forum Général VBA
    Réponses: 5
    Dernier message: 24/09/2004, 15h26
  4. Réponses: 7
    Dernier message: 05/12/2003, 10h14
  5. [Delphi6] Saut de page
    Par Seb328Ci dans le forum QuickReport
    Réponses: 1
    Dernier message: 02/10/2003, 12h36

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