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 :

récupération du contenu d'un textarea


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Par défaut récupération du contenu d'un textarea
    Bonjour,
    J'ai réalisé un livre d'or sur mon site http://harmoniecandas.fr qui fonctionne très bien. Les visiteurs peuvent poster leur message à l'aide d'un petit éditeur classique avec gras, italique, etc... et un bouton "Aperçu".
    C'est là que çà se complique.
    Voici schématiquement le code utilisé dans ma page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form action="" method="post">
        ...
        <input type="button" name="apercu" value="Aperçu " onClick="javascript:voir_message('voirmess.php?message=','message',520,300,'scrollbars=yes')" title="Visualiser le message (alt+a)" />
        <textarea id="nouvelle" rows="12" cols="64" name="message"><?php echo $message ?></textarea>
        ...
    </form>
    Voici le code javascript que j'utilise pour récupérer le contenu du textarea en appuyant sur le bouton "Aperçu" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function voir_message(page,name,largeur,hauteur,options){
      var top=(screen.height-hauteur)/2;
      var left=(screen.width-largeur)/2;
      var txtarea = document.getElementById('nouvelle');
      page += txtarea.value;
      window.open(page,name,"top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
    }
    Le problème est le suivant : dans le textarea je saisis ceci :

    ligne 1
    ligne2

    Dans le textarea, les deux lignes sont séparées par un chr(10) que je récupère bien dans le traitement php après le submit de la form. J'applique alors un nl2br() avant de stocker le message.
    Par contre dans le code javascript les chr(10) ont disparu, ce qui donne dans ma fenêtre d'aperçu :

    ligne 1ligne2

    Ai-je été assez explicite ?
    Si quelqu'un a une solution, je suis bien sûr preneur, cela fait deux jours que je me bats avec çà.
    Comme ce genre de traitement existe dans des éditeurs comme fpkeditor ou tinymce, j'ai bien essayé d'y trouver une solution, mais là çà s'imbrique de partout et c'est d'un niveau trop élevé pour moi.
    Merci à l'avance.

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    page += txtarea.value;
      window.open(page,name,....)
    ce que je ne comprends c'est pourquoi tu concatènes ton texte avec l'url de la page .

    Je préférerais quelque chose du genre (même si n'est pas très propre ) :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var fen;
    fen =  window.open(page,name,....)
    fen.document.body.innerHTML = txtarea.value;

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Par défaut
    "page" est passé en paramètre à la fonction javascript voir_message() dans l'évènement onclick() du bouton et contient le début de l'appel à voirmess.php, le rôle de la fonction javascript étant de récupérer le contenu du textarea pour compléter cet appel "voirmess.php?message="
    qui lui-même sera transmis à la fonction window.open()

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Par défaut
    finalement j'ai contourné ce problème en créant l'aperçu en php en rechargeant la page avec le bouton

  5. #5
    Membre averti
    aze
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Antilles Néerlandaises

    Informations professionnelles :
    Activité : aze

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Par défaut
    Euh, tu y as déjà peut être pensé, mais si tu passes le contenu de ta text-area dans une URL, tu n'as pas besoin de faire un escape/unescape ?

    genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    page+=escape(txtarea.value);
    puis de l'autre côté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon_joli_texte=unescape(<?php echo $_GET['message'];?>);
    En tout cas, bon courage !!!

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

Discussions similaires

  1. [PHP-JS] Récupération du contenu d'un textarea
    Par adoumaz dans le forum Langage
    Réponses: 6
    Dernier message: 08/02/2011, 11h25
  2. Parcours d'un SVG et récupération du contenu textuel
    Par Herode dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/05/2006, 09h34
  3. Réponses: 1
    Dernier message: 29/11/2005, 17h32
  4. Récupération du contenu d'un page avec SYS.UTL_HTTP
    Par squalito dans le forum Oracle
    Réponses: 1
    Dernier message: 09/10/2005, 06h57
  5. la récupération du contenu en pl/sql
    Par squalito dans le forum PL/SQL
    Réponses: 4
    Dernier message: 25/01/2005, 17h25

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