Partage
  • Partager sur Facebook
  • Partager sur Twitter

Prevualisation auto

    28 octobre 2006 à 15:25:26

    Salut à tous ,


    j'ai fais une prevualisation mais j'aimerai ne pas avoir le besoin de cocher une case pour qu'elle marche
    j'ai suivi le tuot sur le bbcode

    voic prev.js :
    var timer=0;
    var ptag=String.fromCharCode(5,6,7);
    function  previsualisation() {
    t=document.forms['formulaire'].textarea.value 
    t=code_to_html(t)
    if (document.getElementById) document.getElementById("prev").innerHTML=t
    if (document.forms['formulaire'].auto.checked) timer=setTimeout(previsualisation,1)

    }
    function automatique() {
    if (document.forms['formulaire'].auto.checked) previsualisation() <!-- si on a cocher la case d'aperçu automatique -->
    }

     





    et la page ou s'est affichée :

    <input name="auto" id="auto"   type="checkbox" onclick="automatique()" /> <label for="auto">Prévisualisation automatique</label>

    <div style="prev" id="prev"></div>




    Voila merci de m'aider !
    • Partager sur Facebook
    • Partager sur Twitter
      29 octobre 2006 à 11:32:04

      J'ai rien dit, il te suffit de supprimer la fonction automatique, de supprimer le bouton et de faire:

      <body onload="previsualisation();">
      • Partager sur Facebook
      • Partager sur Twitter
        29 octobre 2006 à 11:43:43

        non çà ne marche pas :(


        var timer=0;
        var ptag=String.fromCharCode(5,6,7);
        function  previsualisation() {
        t=document.forms['formulaire'].textarea.value 
        t=code_to_html(t)
        if (document.getElementById) document.getElementById("prev").innerHTML=t
        if (document.forms['formulaire'].auto.checked) timer=setTimeout(previsualisation,1)

        }



        j'ai retiré la function automatique



        <div style="prev" id="prev"></div>


        et le bouton
        et j'ai rajouté ton code à mon body , est qu'on est obligé absolument de le mettre sur <body> ? parce que moi il est dans une include
        si on pouvais le mettre sur un <div> çà serait mieux pour moi !!
        • Partager sur Facebook
        • Partager sur Twitter
          29 octobre 2006 à 11:52:43

          Non onload ne s'utilise qu'avec body !
          Mais dans ton code (js) il ne manque pas :

          function previsualisation(){


          Tout au début de ton script?
          • Partager sur Facebook
          • Partager sur Twitter
            29 octobre 2006 à 11:58:12

            si regarde mon message precedent , fonction prevualisation est la !
            mais peut etre pas tout au debut ...
            • Partager sur Facebook
            • Partager sur Twitter
              29 octobre 2006 à 15:25:33

              Tu voudrais pas mettre tout le code JS, parcequ'il manque plein de truc :o !
              Parexemple, je vois :


              t=document.forms['formulaire'].textarea.value
              t=code_to_html(t)
              if (document.getElementById) document.getElementById("prev").innerHTML=t


              Or je ne vois nul part de :


              var t;


              Ensuite, n'oublie pas de mettre des ";" à la fin de chaque lignes, c'est pas obligé, mais c'est un conseil...

              Et il marchait avant que tu retire le bouton ton code!? o_O


              Ca sera tout pour le moment :p !

              A non, j'allais oublié.

              Je crois que tu devrais retirer ceci :

              if (document.forms['formulaire'].auto.checked) timer=setTimeout(previsualisation,1)


              Et que tu devrais rajouter ceci à ton textarea :

              <teaxtarea onkeyup="previsualisation();">


              Je sais pas où tu as été pêcher ce code... Mais il y a mieux :( !
              • Partager sur Facebook
              • Partager sur Twitter
                29 octobre 2006 à 18:15:50

                Oui mon code marchait avant , il s'agit du tuto sur le bbcode et la prev

                voici tout le code de prev.js :(trés long)

                var timer=0;
                var ptag=String.fromCharCode(5,6,7);
                function  previsualisation() {
                t=document.formulaire.textarea.value 
                t=code_to_html(t)
                if (document.getElementById) document.getElementById("prev").innerHTML=t
                if (document.formulaire.auto.checked) timer=setTimeout(previsualisation,1)
                <!-- le "1" est le temps que met le texte à s'afficher, "1" : le texte s'affichera en même temps que l'on écrit (en s) -->
                }
                function automatique() {
                if (document.formulaire.auto.checked) previsualisation() <!-- si on a cocher la case d'
                aperçu automatique -->
                }


                function htmlspecialchars(text)
                {
                        var i,finalText =        '',chr;
                        for( i=0; i < text.length; i++)
                        {
                                chr     =    text.charAt(i);
                                switch(chr)
                                {
                                        case '&':
                                                chr     =    '&amp;';
                                        break;
                                        case '<':
                                                chr     =    '&lt;';
                                        break;
                                        case '>':
                                                chr     =    '&gt;';
                                        break;
                                        case '"':
                                                chr     =    '&quot;';
                                        break;
                                }
                                finalText       +=     chr;
                        }
                        return finalText;
                }




                function code_to_html(t) {
                t=htmlspecialchars(t);
                t=nl2khol(t)



                t=deblaie(/(\[\/gras\])/g,t)

                t=remplace_tag(/\[gras\](.+)\[\/gras\]/g,'<span style="font-weight: bold;">$1</span>',t)

                t=remblaie(t)

                t=deblaie(/(\[\/souligne\])/g,t)

                t=remplace_tag(/\[souligne\](.+)\[\/souligne\]/g,'<u>$1</u>',t)

                t=remblaie(t)



                t=deblaie(/(\[\/italic\])/g,t)

                t=remplace_tag(/\[italic\](.+)\[\/italic\]/g,'<span style="font-style: italic;">$1</span>',t)

                t=remblaie(t)


                t=deblaie(/(\[\/couleur\])/g,t)

                t=remplace_tag(/\[couleur=([\s\S]*?)\](.+)\[\/couleur\]/g,'<span style="color: $1;">$2</span>',t)

                t=remblaie(t)


                t=deblaie(/(\[\/align\])/g,t)

                t=remplace_tag(/\[align=([\s\S]*?)\](.+)\[\/align\]/g,'<div style="text-align: $1;">$2</div>',t)

                t=remblaie(t)


                // balise Citation
                t=deblaie(/(\[\/citation\])/g,t)

                t=remplace_tag(/\[citation=([\s\S]*?)\](.+)\[\/citation\]/g,'<strong>Citation $1 :</strong><div style="border: 1px solid #000000; width: 50%; font-family: Verdana, \'Trebuchet MS\', Tahoma, \'Times New Roman\', Times, serif; text-align: left; font-size: 11px;" align="center">$2</div>',t)

                t=remblaie(t)





                // balise Image

                t=deblaie(/(\[\/image\])/g,t)

                t=remplace_tag(/\[image\](.+)\[\/image\]/g,'<img src="$1" />',t)

                t=remblaie(t)



                // balise URL   

                t=deblaie(/(\[\/url\])/g,t)

                t=remplace_tag(/\[\url=([\s\S]*?)\](.+)\[\/url\]/g,'<a href="$1" target="_blank">$2</a>',t)

                t=remblaie(t)



                // smilies Smile <!-- on oublie pas les smilies -->

                t=remplace_tag(/:D/g,'<img src="http://siteduzero.com/Templates/images/smilies/smile.png" alt="" />',t)

                t=remplace_tag(/<attention>/g,'<img src="zcode_attention.png" alt="" />',t)

                t=remplace_tag(/<question>/g,'<img src="zcode_question.png" alt="" />',t)

                t=remblaie(t)

                t=unkhol(t)

                t=nl2br(t)

                return t

                }

                <!-- tout le code qui suit c'est pour transformer toutes les balises, comme les preg_replace en PHP -->

                function deblaie(reg,t) {

                textarea=new String(t);

                return textarea.replace(reg,'
                $1\n');

                }

                function remblaie(t) {

                textarea=new String(t);

                return textarea.replace(/\n/g,'
                ');

                }

                function remplace_tag(reg,rep,t) {

                textarea=new String(t);

                return textarea.replace(reg,rep);

                }

                function nl2br(t) {

                textarea=new String(t);

                return textarea.replace(/\n/g,'
                <br/>');

                }

                function nl2khol(t) {

                textarea=new String(t);

                return textarea.replace(/\n/g,ptag);

                }

                function unkhol(t) {

                textarea=new String(t);

                return textarea.replace(new RegExp(ptag,'
                g'),'\n');

                }



                J'ai fais toutes les modifs que tu m'a dis (meme si la elle ne sont pas presente sur le prev.js ) et çà ne marche pas o_O

                tiens allez je les met :(je ne remet pas tous quand meme )


                var timer=0;
                var ptag=String.fromCharCode(5,6,7);
                function  previsualisation() {
                t=document.formulaire.textarea.value 
                t=code_to_html(t)
                if (document.getElementById) document.getElementById("prev").innerHTML=t


                function htmlspecialchars(text)
                {
                        var i,finalText =        '',chr;
                        for( i=0; i < text.length; i++)
                        {
                                chr     =    text.charAt(i);
                                switch(chr)
                                {
                                        case '&':
                                                chr     =    '&amp;';
                                        break;
                                        case '<':
                                                chr     =    '&lt;';
                                        break;
                                        case '>':
                                                chr     =    '&gt;';
                                        break;
                                        case '"':
                                                chr     =    '&quot;';
                                        break;
                                }
                                finalText       +=     chr;
                        }
                        return finalText;
                }






                • Partager sur Facebook
                • Partager sur Twitter
                  29 octobre 2006 à 18:25:41

                  Je ne vois toujours pas de :

                  var t;


                  Je ne vois toujours pas de ";" à la fin de chaque ligne...
                  Et tu as bien rajouter : onkeyup="previsualisation();" à ton textarea?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 octobre 2006 à 19:02:56

                    non çà ne marche toujours pas :


                    var timer=0;
                    var ptag=String.fromCharCode(5,6,7);
                    function  previsualisation() {;
                    t=document.formulaire.textarea.value  ;
                    t=code_to_html(t);
                    if (document.getElementById) document.getElementById("prev").innerHTML=t;



                    function htmlspecialchars(text);
                    {
                            var i,finalText =        '',chr;
                            for( i=0; i < text.length; i++);
                            {;
                                    chr     =    text.charAt(i);
                                    switch(chr);
                                    {;
                                            case '&':
                                                    chr     =    '&amp;';
                                            break;
                                            case '<':
                                                    chr     =    '&lt;';
                                            break;
                                            case '>':
                                                    chr     =    '&gt;';
                                            break;
                                            case '"':
                                                    chr     =    '&quot;';
                                            break;
                                    };
                                    finalText       +=     chr;
                            };
                            return finalText;
                    };




                    function code_to_html(t) {;
                    t=htmlspecialchars(t);
                    t=nl2khol(t);



                    t=deblaie(/(\[\/gras\])/g,t);

                    t=remplace_tag(/\[gras\](.+)\[\/gras\]/g,'<span style="font-weight: bold;">$1</span>',t);

                    t=remblaie(t);

                    t=deblaie(/(\[\/souligne\])/g,t);

                    t=remplace_tag(/\[souligne\](.+)\[\/souligne\]/g,'<u>$1</u>',t);

                    t=remblaie(t);



                    t=deblaie(/(\[\/italic\])/g,t);

                    t=remplace_tag(/\[italic\](.+)\[\/italic\]/g,'<span style="font-style: italic;">$1</span>',t);

                    t=remblaie(t);


                    t=deblaie(/(\[\/couleur\])/g,t);

                    t=remplace_tag(/\[couleur=([\s\S]*?)\](.+)\[\/couleur\]/g,'<span style="color: $1;">$2</span>',t);

                    t=remblaie(t);


                    t=deblaie(/(\[\/align\])/g,t);

                    t=remplace_tag(/\[align=([\s\S]*?)\](.+)\[\/align\]/g,'<div style="text-align: $1;">$2</div>',t);

                    t=remblaie(t);


                    // balise Citation
                    t=deblaie(/(\[\/citation\])/g,t);

                    t=remplace_tag(/\[citation=([\s\S]*?)\](.+)\[\/citation\]/g,'<strong>Citation $1 :</strong><div style="border: 1px solid #000000; width: 50%; font-family: Verdana, \'Trebuchet MS\', Tahoma, \'Times New Roman\', Times, serif; text-align: left; font-size: 11px;" align="center">$2</div>',t);

                    t=remblaie(t);





                    // balise Image

                    t=deblaie(/(\[\/image\])/g,t);

                    t=remplace_tag(/\[image\](.+)\[\/image\]/g,'<img src="$1" />',t);

                    t=remblaie(t);



                    // balise URL   

                    t=deblaie(/(\[\/url\])/g,t);

                    t=remplace_tag(/\[\url=([\s\S]*?)\](.+)\[\/url\]/g,'<a href="$1" target="_blank">$2</a>',t);

                    t=remblaie(t);



                    // smilies Smile <!-- on oublie pas les smilies -->

                    t=remplace_tag(/:D/g,'<img src="http://siteduzero.com/Templates/images/smilies/smile.png" alt="" />',t);

                    t=remplace_tag(/<attention>/g,'<img src="zcode_attention.png" alt="" />',t);

                    t=remplace_tag(/<question>/g,'<img src="zcode_question.png" alt="" />',t);

                    t=remblaie(t);

                    t=unkhol(t);

                    t=nl2br(t);

                    return t;

                    };

                    <!-- tout le code qui suit c'est pour transformer toutes les balises, comme les preg_replace en PHP -->

                    function deblaie(reg,t) {;

                    textarea=new String(t);

                    return textarea.replace(reg,'
                    $1\n');

                    };

                    function remblaie(t) {;

                    textarea=new String(t);

                    return textarea.replace(/\n/g,'
                    ');

                    };

                    function remplace_tag(reg,rep,t) {;

                    textarea=new String(t);

                    return textarea.replace(reg,rep);

                    };

                    function nl2br(t) {;

                    textarea=new String(t);

                    return textarea.replace(/\n/g,'
                    <br/>');

                    };

                    function nl2khol(t) {;

                    textarea=new String(t);

                    return textarea.replace(/\n/g,ptag);

                    };

                    function unkhol(t) {;

                    textarea=new String(t);

                    return textarea.replace(new RegExp(ptag,'
                    g'),'\n');

                    };





                     




                    <textarea cols="56" rows="12" id="textarea" name="message"  onkeyup="previsualisation();"></textarea>
                    <br /><br/>



                    <div style="prev" id="prev"></div>



                    et je n'ai pas oublié <body onload="previsualisation();"> , apperement tu trouve mon prev.js bien pourri , si tu pouvais me le modifier çà serait sympa , j'y connais rien en javascript (notamment pour ((var t; )) , j'ai mis des ";" à toutes les lignes


                    • Partager sur Facebook
                    • Partager sur Twitter
                      31 octobre 2006 à 14:47:08

                      Je me permet de te dire qu'il ne faut pas mettre de points-virgule après les accolades { et } ...

                      Pour le reste, désolé, je n'ai pas le temps de lire ton script en entier...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        3 novembre 2006 à 15:13:48

                        ok merci
                        mais çà ne marche toujours pas mlaheureusement
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Prevualisation auto

                        × 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