DHTML / Javascript

Salut,

J'ai un petit probleme avec les caractères spéciaux

Lorsqu'on tape dans une zone de texte (<textarea>), comment distinguer le saut de ligne <BR> , d'un saut de paragraphe (<P></P>) ?

RMQ: lorsque j'utilise la fonction string.charCodeAt sur ces deux caractères spéciaux j'obtiens la valeur décimale 13.

Merci d'avance

8 réponses

  1. La balise <P> ne demande pas forcément de balise fermante(</p>).
    1. Dond je vais devoir faire un test dans onKeyPress:

      if (window.event.keyCode==13)
      {
      if (window.event.shiftKey==true)
      {
      AJOUTER BR
      }
      else
      {
      AJOUTER <P></P>
      }
      }

      MAis maintenant, il faudra repositionner mon curseur juste avant </P> pour être correct.

      Oh le joli mal de tête qui m'attend.
      1. Dans la plus part de ces éditeurs, on utilise SHIFT+ENTREE pour faire un <BR>.
        Un ENTREE simple provoque un <P>.
        1. Disons que le but de cette demande est de faire un petit programme d'éditeur web qui servira pour les Intranets.

          Donc j'utilise la commande document.execCommand pour le mode visuel , une balise DIV éditable qui n'est compatible uniquement à partir d'IE 5.5.

          Pour pallier à ce problème de compatibilité, j'ai aussi mis une TEXTAREA qui avec quelques bidouillages permet de faire la même chose mais en version code HTML (avec les tags apparent).

          La seule chose qui me pose problème est d'effectuer les opérations d'alignements (gauche, centre, droite) , les listes ordonnées, et les puces . J'ai besoin de détecter la différence entre <P> et <BR>.

          Si quelqu'un à une solution, je suis preneur.
          1. Salut,

            Je devais arriver +/- au même résultat que toi.
            Voilà en gros comment j'ai procédé (en ASP):
            - J'utilise une iframe (là ou tu utilises une textarea)
            - Je mets mon document "principal" en designMode ='on'
            - Dans ma page "frame" j'ai un DIV (oDIV) qui contient le texte editable
            - Pour récuperer les données j'utilise : eval("document.frames(0).oDiv.innerHTML")

            Y a p-e plus simple, mais ca fonctionne.
            J'espère que ca t'aide

            ciao

            dEUS
            There's no success like failure
            And failure's no success at all
        2. Parce qu'elles sont vraiment tordues.

          Dans un <TEXTAREA>, il n'y a pas de paragraphe <P>... Seulement des retours à la ligne (soit <BR>)

          (A moins que tu rentres les balises dans le champ, dans ce cas ce sont des chaine de caractères non interprétées qui n'ont rien à voir entre elles.
          1. Personnellement on m'a tj dit que <br> et <p> ont la meme fonction, sauf que <p> est + elegant parcequ'il se ferme

            Eternel Questionneur. La reponse est la: www.telecharger.com
            1. On t'a dit des betises :)

              L'interligne entre <P> et <br> est complétement différent. Et la mise en forme.

              essaye ca par exemple:

              <p align=center>bla bla
              <br>
              ble ble</P>
              <P>blo blo</p>

              Ou bien avec dreamweaver , prend le texte précédent est fait une liste . la différence est tout autre.