Partage
  • Partager sur Facebook
  • Partager sur Twitter

[js] tutorial sur le BBcode en javascript

je n'y arrive pas

Sujet résolu
    15 mai 2006 à 10:27:27

    Alors voilà :
    J'essai de comprendre le fonctionnement du BBcode à l'aide du tuto "Création d'un BBCode et aperçu en direct" en tripatouillant le code pour voir ce que çà change etc...

    Mais problème, sans même le modifier, je ne comprends pas : on commence par créer un formulaire en xhtml puis on a tout le code javascript.

    Ce code, je dois le copier dans le même fichier ou dois-je créer un fichier javascript séparé ? et dans ce cas, comment fait-on pour utiliser le code? o_O

    Enfin bref, je suis perdu... ^^ , si quelqu'un pouvais m'expliquer le tuto...


    édit : en fait en relisant attentivement le code final, j'ai vu la façon d'inclure le code javascript.
    Du coup, pour essayer, j'ai fais copier/coller la page de formulaire et la page prev.js

    Pourtant, quand je teste la page sur mon ordi, rien ne se passe et avec IE, ca me note qu'il reste des erreures sur la page :euh:
    • Partager sur Facebook
    • Partager sur Twitter
      15 mai 2006 à 12:35:37

      Slt,

      Montres ce que tu as fais.
      • Partager sur Facebook
      • Partager sur Twitter
        15 mai 2006 à 16:51:00

        J'ai réussi à faire fonctionner le script du tutorial, maintenant, j'essai de m'en reservir dans mes codes mais ca ne marche pas, IE me dis qu'il reste des erreurs dans ma page...

        Voici le code :
        <script language="javascript">
               
                function bbcode(bbdebut, bbfin)
        {
        var input = window.document.formulaire.textarea;
        input.focus();
        /* pour IE */
        if(typeof document.selection != 'undefined')
        {
        var range = document.selection.createRange();
        var insText = range.text;
        range.text = bbdebut + insText + bbfin;
        range = document.selection.createRange();
        if (insText.length == 0)
        {
        range.move('character', -bbfin.length);
        }
        else
        {
        range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
        }
        range.select();
        }
        /* pour les navigateurs plus récents que IE comme Firefox... */
        else if(typeof input.selectionStart != 'undefined')
        {
        var start = input.selectionStart;
        var end = input.selectionEnd;
        var insText = input.value.substring(start, end);
        input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
        var pos;
        if (insText.length == 0)
        {
        pos = start + bbdebut.length;
        }
        else
        {
        pos = start + bbdebut.length + insText.length + bbfin.length;
        }
        input.selectionStart = pos;
        input.selectionEnd = pos;
        }
        /* pour les autres navigateurs comme Netscape... */
        else
        {
        var pos;
        var re = new RegExp('^[0-9]{0,3}$');
        while(!re.test(pos))
        {
        pos = prompt("insertion (0.." + input.value.length + "):", "0");
        }
        if(pos > input.value.length)
        {
        pos = input.value.length;
        }
        var insText = prompt("Veuillez taper le texte");
        input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
        }
        }
        function smilies(img)
        {
        window.document.formulaire.textarea.value += '' + img + '';
        }
               
                </script>
            <form method="post" action="livreor.php">
            <p>Mon site vous plaît ? Laissez-moi un message !</p>
            <p>
                Pseudo : <input name="pseudo"  /><br />
                        <br/>
                        Message :<br />
                       
                        <img src="images/BBcode/bold.gif" alt="Gras" onClick="javascript:bbcode('[b]', '[/b]');"/>
                                        <br/>   
                       
               
                <textarea name="message" rows="8" cols="35"></textarea> <br />
                        <input type="submit" value="Aperçu" />
                <input type="submit" value="Envoyer" />
            </p>
            </form>


        Donc, si j'ai bien compris le code javascript, quand je click sur l'image "gras", normalement, çà devrais me mettre automatiquement les balises [b][/b]... j'ai raison?
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          15 mai 2006 à 17:49:09

          Normal, tu n'as pas donner les bons noms à tes formulaires et textarea ;)


          <script language="javascript">
                 
                  function bbcode(bbdebut, bbfin)
          {
          var input = window.document.formulaire.textarea;
          input.focus();
          /* pour IE */
          if(typeof document.selection != 'undefined')
          {
          var range = document.selection.createRange();
          var insText = range.text;
          range.text = bbdebut + insText + bbfin;
          range = document.selection.createRange();
          if (insText.length == 0)
          {
          range.move('character', -bbfin.length);
          }
          else
          {
          range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
          }
          range.select();
          }
          /* pour les navigateurs plus récents que IE comme Firefox... */
          else if(typeof input.selectionStart != 'undefined')
          {
          var start = input.selectionStart;
          var end = input.selectionEnd;
          var insText = input.value.substring(start, end);
          input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
          var pos;
          if (insText.length == 0)
          {
          pos = start + bbdebut.length;
          }
          else
          {
          pos = start + bbdebut.length + insText.length + bbfin.length;
          }
          input.selectionStart = pos;
          input.selectionEnd = pos;
          }
          /* pour les autres navigateurs comme Netscape... */
          else
          {
          var pos;
          var re = new RegExp('^[0-9]{0,3}$');
          while(!re.test(pos))
          {
          pos = prompt("insertion (0.." + input.value.length + "):", "0");
          }
          if(pos > input.value.length)
          {
          pos = input.value.length;
          }
          var insText = prompt("Veuillez taper le texte");
          input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
          }
          }
          function smilies(img)
          {
          window.document.formulaire.textarea.value += '' + img + '';
          }
                 
                  </script>
              <form method="post" action="livreor.php" name="formulaire">
              <p>Mon site vous plaît ? Laissez-moi un message !</p>
              <p>
                  Pseudo : <input name="pseudo"  /><br />
                          <br/>
                          Message :<br />
                         
                          <img src="images/BBcode/bold.gif" alt="Gras" onClick="javascript:bbcode('[b]', '[/b]');"/>
                                          <br/>   
                         
                 
                  <textarea name="textarea" rows="8" cols="35"></textarea> <br />
                          <input type="submit" value="Aperçu" />
                  <input type="submit" value="Envoyer" />
              </p>
              </form>


          ca devrait aller mieux
          • Partager sur Facebook
          • Partager sur Twitter
            15 mai 2006 à 17:57:39

            Quelle andouille, je m'étais déjà fais avoir une fois... :p

            merci! J'essaie ca tout de suite et je viens vous dire si ca marche :D

            édit: houh... ca marche... :D merci merci merci !
            • Partager sur Facebook
            • Partager sur Twitter
              15 mai 2006 à 19:44:38

              Meme sur l'index ca marche???
              Je connasi pas les regex donc je n'y arrive pas :(
              • Partager sur Facebook
              • Partager sur Twitter

              [js] tutorial sur le BBcode en javascript

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown