soucy avec le boutton aperçut final

soucy avec le boutton aperçut final - HTML/CSS - Programmation

Marsh Posté le 08-02-2008 à 14:49:03    

bonjour j'ai crée un outton aperçut final mais il ne fonctionne pas dés que je l'excute  
 
et j'aimerais quand puisse clique pour voir le message dans un texterea et qu'on puisse voir les bbcode couleur et les smileys dans l'apperçut final
 
je ne sais pas si ça vien du code de ma page ou ma page de java script
 
et ça fait 3 mois que j'éssay et je ne trouve pas  
 
es ce que vous pouvez m'aidé  
 
voilà le code
 
livre d'or
 

Citation :

     <textarea name="contenu" id="contenu" rows="10" cols="84" onfocus="if(this.value=='Votre Message'){this.value='';}" onkeyup="javascript: analyse();">Votre Message</textarea>
</p>
      <div id="apercu"></div>
 
      <p align="center" class="texte_blanc">
 
      <input type="button" name="apercu_bbcode" value="aperçu final" onClick = "aperçu final(document.getElementById('message').value);"/>
</p>
      <!--Au clic, j'apelle ma fonction js-->
<br />
<br />
      <div id="apercu_final"></div>
 
      <p align="center">
 
      <input type="submit" value="Envoyer" />
   <input type="reset" name = "Effacer" value = "Effacer"/>
   </p>
   </form>


 
et j'ai mis 2 pages de javascripts
 
bbcode.js
 
ca c'est pour le temps réel
 

Citation :

                                   // contenu du temps réels du message
 
      function type_text(t1)
   {
      var speed=80;
   var index=0; text_pos=0;
   var str_length=tl[0].length;
   var contents, row;
 
      contents = '';
   row = Math.max(0,index-6);
   while(row<index)
   contents += tl[row++] + '\r\n';
 
      document.textform.elements[0].value = contents + tl[index].substring(0,text_pos) + "_";
 
      if(text_pos++==str_length)
   {
      text_pos = 0;
   index++;
   if(index != tl.length)
   {
      str_length=tl[index].length;
   setTimeout("type_text()",1500);
   }
   }
   else
   setTimeout("type_text()",speed);
 
      affiche();
   }
 
      function MM_callJS(jsStr)
   {
 
      //v2.0
 
      return eval(jsStr)
   }
 
      //-->
 
      function add_texte(texte)
   {
      document.getElementById('contenu').focus();
   document.getElementById('contenu').value+=texte;
   document.getElementById('contenu').focus();
 
      analyse();
   }
 
      function bbcode(bbdebut, bbfin)
   {
      var Champ = document.getElementById('contenu');
   Champ.focus();
 
      /* Partie 1 : recuperation de la selection */
 
      if(document.selection)
   {
      CreatedRange = document.selection.createRange();
   CurrentSelection = CreatedRange.text;
   }
   else
   {
      var StartSelection    = Champ.value.substring(0, Champ.selectionStart);
   var CurrentSelection  = Champ.value.substring(Champ.selectionStart, Champ.selectionEnd);
   var EndSelection      = Champ.value.substring(Champ.selectionEnd);
   }
 
      /* Partie 2 : on insere le tout */
 
      if(document.selection)
   {
      CreatedRange.text = bbdebut + CurrentSelection + bbfin;
   CreatedRange.select();
   }
   else
   {
      Champ.value = StartSelection + bbdebut + CurrentSelection + bbfin + EndSelection;
   Champ.focus();
   Champ.setSelectionRange(StartSelection.length + bbdebut.length,StartSelection.length + bbfin.length + CurrentSelection.length);
   }
 
      analyse();
 
      }
 
      function lien_index(type)
   {
      var Champ = document.getElementById('contenu');
   Champ.focus();
 
      if(document.selection)
   {
      CreatedRange = document.selection.createRange();
   CurrentSelection = CreatedRange.text;
   }
   else
   {
      var StartSelection    = Champ.value.substring(0, Champ.selectionStart);
   var CurrentSelection  = Champ.value.substring(Champ.selectionStart, Champ.selectionEnd);
   var EndSelection      = Champ.value.substring(Champ.selectionEnd);
   }
 
      if(type == 'lien')
   {
      if(CurrentSelection)
   {
      var lien1 = prompt("Définissez le lien","http://www..." );
   var bbdebut = '<lien='+lien1+'>';
   var bbfin = '</lien>';
   }
   else
   {
      var lien1 = prompt("Definissez le lien","http://www..." );
   var texte1 = prompt("Définissez le texte qui s'affichera","site internet" );
   var bbdebut = '<lien='+lien1+'>'+texte1;
   var bbfin = '</lien>';
   }
   }
   else if(type == 'citation')
   {
      if(CurrentSelection)
   {
      var citation1 = prompt("Définissez l'auteur","Molière" );
   var bbdebut = '<citation='+citation1+'>';
   var bbfin = '</citation>';
   }
   else
   {
      var citation1 = prompt("Definissez l'auteur","Molière" );
   var texte1 = prompt("Définissez le texte qui s'affichera comme citation","Euh oups" );
   var bbdebut = '<citation='+citation1+'>'+texte1;
   var bbfin = '</citation>';
   }
   }
 
      bbcode(bbdebut,bbfin);
 
      }
   function analyse()
   {
      var contenu = document.getElementById('contenu').value;
 
      //Mise en forme du texte
   //Position
 
      var reg = new RegExp("<gauche>(.*)</gauche>", "g" );
   contenu = contenu.replace(reg,'<div class="gauche">$1</div>');
 
      var reg = new RegExp("<droite>(.*)</droite>", "g" );
   contenu = contenu.replace(reg,'<div class="droite">$1</div>');
 
      var reg = new RegExp("<centre>(.*)</centre>", "g" );
   contenu = contenu.replace(reg,'<div class="centre">$1</div>');
 
      var reg = new RegExp("<justifier>(.*)</justifier>", "g" );
   contenu = contenu.replace(reg,'<div class="justifier">$1</div>');
 
      // couleur
 
      var reg = new RegExp("<rouge>(.*)</rouge>", "g" );
   contenu = contenu.replace(reg,'<span class="rouge">$1</span>');
 
      var reg = new RegExp("<orange>(.*)</orange>", "g" );
   contenu = contenu.replace(reg,'<span class="orange">$1</span>');
 
      var reg = new RegExp("<jaune>(.*)</jaune>", "g" );
   contenu = contenu.replace(reg,'<span class="jaune">$1</span>');
 
      var reg = new RegExp("<vert>(.*)</vert>", "g" );
   contenu = contenu.replace(reg,'<span class="vert">$1</span>');
 
      var reg = new RegExp("<bleu>(.*)</bleu>", "g" );
   contenu = contenu.replace(reg,'<span class="bleu">$1</span>');
 
      var reg = new RegExp("<violet>(.*)</violet>", "g" );
   contenu = contenu.replace(reg,'<span class="violet">$1</span>');
 
      var reg = new RegExp("<marron>(.*)</marron>", "g" );
   contenu = contenu.replace(reg,'<span class="marron">$1</span>');
 
      var reg = new RegExp("<noir>(.*)</noir>", "g" );
   contenu = contenu.replace(reg,'<span class="noir">$1</span>');
 
      var reg = new RegExp("<gris>(.*)</gris>", "g" );
   contenu = contenu.replace(reg,'<span class="gris">$1</span>');
 
   // police
 
      var reg = new RegExp("<arial>(.*)</arial>", "g" );
   contenu = contenu.replace(reg,'<span class="arial">$1</span>');
 
      var reg = new RegExp("<times>(.*)</times>", "g" );
   contenu = contenu.replace(reg,'<span class="times">$1</span>');
 
      var reg = new RegExp("<courier>(.*)</courier>", "g" );
   contenu = contenu.replace(reg,'<span class="courier">$1</span>');
 
      var reg = new RegExp("<impact>(.*)</impact>", "g" );
   contenu = contenu.replace(reg,'<span class="arial">$1</span>');
 
      var reg = new RegExp("<verdana>(.*)</verdana>", "g" );
   contenu = contenu.replace(reg,'<span class="verdana">$1</span>');
 
      // police
 
   var reg = new RegExp("<gras>(.*)</gras>", "g" );
   contenu = contenu.replace(reg,'<span class="gras">$1</span>');
 
      var reg = new RegExp("<italique>(.*)</italique>", "g" );
   contenu = contenu.replace(reg,'<span class="italique">$1</span>');
 
      var reg = new RegExp("<souligner>(.*)</souligner>", "g" );
   contenu = contenu.replace(reg,'<span class="souligner">$1</span>');
 
      var reg = new RegExp("<barrer>(.*)</barrer>", "g" );
   contenu = contenu.replace(reg,'<span class="barrer">$1</span>');
 
      var reg = new RegExp("<souligner_dessus>(.*)</souligner_dessus>", "g" );
   contenu = contenu.replace(reg,'<span class="souligner_dessus">$1</span>');
 
      var reg = new RegExp("<clignoter>(.*)</clignoter>", "g" );
   contenu = contenu.replace(reg,'<span class="clignoter">$1</span>');
 
      var reg = new RegExp("<lien=([^>]*)>([^<]*)</lien>", "g" );
   contenu = contenu.replace(reg,'<a href="$1">$2</a>');
 
      var reg = new RegExp("\\n", "g" );
   contenu = contenu.replace(reg,'<br />');
   document.getElementById('apercu').innerHTML = contenu;
   }
 
function apercu_final()
{
        var apercu_finalContent = document.getElementById("message" ).innerHTML;
        document.getElementById("apercu_final" ).innerHTML = '<fieldset><legend>apercu_final</legend>'+apercu_finalContent+'</fieldset>';
        return;
}


 
ca c'est pour l'aperçu final
 
qui se trouveras dans un texterea qui seras trnsparent et dés qu'on cliqueras sur le boutton aperçut final on verras le texterea avec le texte et bbcode coloré et les smileys
 
voilà le code code prev.js
 

Citation :

                                   // aperçut final
 
   //on assigne un évènement au bouton "Aperçu"
 
      document.getElementByName('apercu_final')[0].onclick = apercu_final;
 
      function apercu_final()
   {
 
      //on récupère le contenu du textarea qui à l'id : 'contenu'
 
      var contenu = document.getElementById('contenu').value;
 
      //on créer notre élement XMLHttpRequest (Ajax)
 
      var xhr = false;
   if (window.XMLHttpRequest)
   {
 
      //si c'est Firefox, Opera, IE7, etc
 
      xhr = new XMLHttpRequest();
   }
   else if (window.ActiveXObject)
   {
 
      //si c'est IE < 7
 
      xhr = new ActiveXObject("Microsoft.XMLHTTP" );
 
      }
   else
   {
 
      //Le navigateur n'est pas compatible avec AJAX (IE < 5 je crois)
 
      alert('Votre navigateur n\'est pas compatible avec la technologie AJAX !');
   }
 
      //maintenant on désigne ce qu'on fait une fois qu'on a reçu la réponse du script PHP
 
      xhr.onreadystatechange = function()
   {
 
      //si la réponse est correctement reçue
 
      if (xhr.readyState == 4 && xhr.status == 200)
   {
 
      //on met la réponse dans le div 'preview' prévu à cet effet
   //innerHTML n'est pas recommandé mais pour faire simple...
   //Disons qu'utiliser DOM est un poil plus compliqué mais au moins il respecte les standards...
 
      document.getElementById('apercu_final').innerHTML = xhr.responseText;
   }
 
      //on envoi la requête au script PHP
 
      xhr.open("POST", 'mon_script.php', true);
   xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
   xhr.send('text='+contenu);
   }
 
                                    // les bbcodes
 
      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 coché la case d'aperçu automatique -->
 
      }
   function code_to_html(t)
   {
      t=nl2khol(t)
 
      //Mise en forme du texte
   //Position
 
      t=deblaie(/(\[\/gauche\])/g,t)
   t=remplace_tag(/\[gauche\](.+)\[\/gauche\]/g,'<span class="gauche">$1</span>',t)
   t=remblaie(t)
 
      t=deblaie(/(\[\/centrer\])/g,t)
   t=remplace_tag(/\[center\](.+)\[\/center\]/g,'<span class="center">$1</span>',t)
   t=remblaie(t)
 
      t=deblaie(/(\[\/droite\])/g,t)
   t=remplace_tag(/\[droite\](.+)\[\/droite\]/g,'<span class="droite">$1</span>',t)
   t=remblaie(t)
 
   t=deblaie(/(\[\/justifier\])/g,t)
   t=remplace_tag(/\[justifier\](.+)\[\/justifier\]/g,'<span class="justifier">$1</span>',t)
   t=remblaie(t)
 
      //Couleur
 
      t=deblaie(/(\[\/rouge\])/g,t)
   t=remplace_tag(/\[rouge\](.+)\[\/rouge\]/g,'<span class="rouge">$1</span>',t)
   t=remblaie(t)
 
      t=deblaie(/(\[\/orange\])/g,t)
   t=remplace_tag(/\[orange\](.+)\[\/orange\]/g,'<span class="orange">$1</span>',t)
   t=remblaie(t)
 
      t=deblaie(/(\[\/jaune\])/g,t)
   t=remplace_tag(/\[jaune\](.+)\[\/jaune\]/g,'<span class="jaune">$1</span>',t)
   t=remblaie(t)
   
   t=deblaie(/(\[\/vert\])/g,t)
   t=remplace_tag(/\[vert\](.+)\[\/vert\]/g,'<span class="vert">$1</span>',t)
   t=remblaie(t)
 
      t=deblaie(/(\[\/bleu\])/g,t)
   t=remplace_tag(/\[bleu\](.+)\[\/bleu\]/g,'<span class="bleu">$1</span>',t)
   t=remblaie(t)
 
      t=deblaie(/(\[\/violet\])/g,t)
   t=remplace_tag(/\[violet\](.+)\[\/violet\]/g,'<span class="violet">$1</span>',t)
   t=remblaie(t)
 
      t=deblaie(/(\[\/marron\])/g,t)
   t=remplace_tag(/\[marron\](.+)\[\/marron\]/g,'<span class="marron">$1</span>',t)
   t=remblaie(t)
   
   t=deblaie(/(\[\/noir\])/g,t)
   t=remplace_tag(/\[noir\](.+)\[\/noir\]/g,'<span class="noir">$1</span>',t)
   t=remblaie(t)
   
       
   t=deblaie(/(\[\/gris\])/g,t)
   t=remplace_tag(/\[gris\](.+)\[\/gris\]/g,'<span class="gris">$1</span>',t)
   t=remblaie(t)
 
      //police
 
   t=deblaie(/(\[\/arial\])/g,t)
   t=remplace_tag(/\[arial\](.+)\[\/arial\]/g,'<span class="arial">$1</span>',t)
   t=remblaie(t)
 
      t=deblaie(/(\[\/times\])/g,t)
   t=remplace_tag(/\[times\](.+)\[\/times\]/g,'<span class="times">$1</span>',t)
   t=remblaie(t)
 
      t=deblaie(/(\[\/courier\])/g,t)
   t=remplace_tag(/\[courier\](.+)\[\/courier\]/g,'<span class="courier">$1</span>',t)
   t=remblaie(t)
   
   t=deblaie(/(\[\/impact\])/g,t)
   t=remplace_tag(/\[impact\](.+)\[\/impact\]/g,'<span class="impact">$1</span>',t)
   t=remblaie(t)
   
   t=deblaie(/(\[\/verdana\])/g,t)
   t=remplace_tag(/\[verdana\](.+)\[\/verdana\]/g,'<span class="verdana">$1</span>',t)
   t=remblaie(t)
 
      //Textes
 
      t=deblaie(/(\[\/gras\])/g,t)
   t=remplace_tag(/\[gras\](.+)\[\/gras\]/g,'<span class="gras">$1</span>',t)
   t=remblaie(t)
 
      t=deblaie(/(\[\/italique\])/g,t)
   t=remplace_tag(/\[italique\](.+)\[\/italique\]/g,'<span class="italique">$1</span>',t)
   t=remblaie(t)
 
      t=deblaie(/(\[\/souligner\])/g,t)
   t=remplace_tag(/\[souligner\](.+)\[\/souligner\]/g,'<span class="souligner">$1</span>',t)
   t=remblaie(t)
   
   t=deblaie(/(\[\/barrer\])/g,t)
   t=remplace_tag(/\[barrer\](.+)\[\/barrer\]/g,'<span class="barrer">$1</span>',t)
   t=remblaie(t)
 
   t=deblaie(/(\[\/souligner_dessus\])/g,t)
   t=remplace_tag(/\[souligner_dessus\](.+)\[\/souligner_dessus\]/g,'<span class="souligner_dessus">$1</span>',t)
   t=remblaie(t)
       
   t=deblaie(/(\[\/clignoter\])/g,t)
   t=remplace_tag(/\[clignoter\](.+)\[\/clignoter\]/g,'<span class="clignoter">$1</span>',t)
   t=remblaie(t)
 
   t=deblaie(/(\[\/citation\])/g,t)
   t=remplace_tag(/\[citation=([\s\S]*?)\](.+)\[\/citation\]/g,'<span class="citation">$1</span>',t)
   t=remblaie(t)
   
   t=deblaie(/(\[\/lien\])/g,t)
   t=remplace_tag(/\[lien\](.+)\[\/lien\]/g,'<img src="$1" alt="" />',t)
   t=remblaie(t)
   
   t=deblaie(/(\[\/image\])/g,t)
   t=remplace_tag(/\[image\](.+)\[\/image\]/g,'<img src="$1" alt="" />',t)
 
      //Smileys
 
      t=remplace_tag(/;)/g,'<img src="http://le.coffre.free.fr/images/smileys/wink.gif" title="wink" alt="wink" />',t)
   t=remplace_tag(/:XD:/g,'<img src="http://le.coffre.free.fr/images/smileys/xd.gif" title="xd" alt="xd" />',t)
   t=remplace_tag(/(L)/g,'<img src="http://le.coffre.free.fr/images/smileys/heart.gif" title="heart" alt="heart" />',t)
   t=remplace_tag(/:ZZZ:/g,'<img src="http://le.coffre.free.fr/images/smileys/sleep.gif" title="sleep" />',t)
   t=remplace_tag(/:arf:/g,'<img src="http://le.coffre.free.fr/images/smileys/arf.gif" title="arf" />',t)
   t=remplace_tag(/:yes:/g,'<img src="http://le.coffre.free.fr/images/smileys/yes.gif" title="yes" alt="yes" />',t)
   t=remplace_tag(/:bof:/g,'<img src="http://le.coffre.free.fr/images/smileys/bof.gif" title="bof" alt="bof" />',t)
   t=remplace_tag(/,(/g,'<img src="http://le.coffre.free.fr/images/smileys/cry.gif" title="cry" alt="cry" />',t)
   t=remplace_tag(/:boulet:(/g,'<img src="http://le.coffre.free.fr/images/smileys/boulet.gif" title="boulet" alt="boulet" />',t)
   t=remplace_tag(/:lol:/g,'<img src="http://le.coffre.free.fr/images/smileys/lol2.gif" title="lol2" alt="lol2" />',t)
   t=remplace_tag(/:wow:/g,'<img src="http://le.coffre.free.fr/images/smileys/wow.gif" title="wow" alt="wow" />',t)
   t=remplace_tag(/:...:/g,'<img src="http://le.coffre.free.fr/images/smileys/suspens.gif" title="suspens" />',t)
   t=remplace_tag(/:boss:/g,'<img src="http://le.coffre.free.fr/images/smileys/boss.gif" title="boss" alt="boss" />',t)    
   t=remplace_tag(/:back:/g,'<img src="http://le.coffre.free.fr/images/smileys/back.gif" title="back" alt="back" />',t)
   t=remplace_tag(/:gna:/g,'<img src="http://le.coffre.free.fr/images/smileys/gna.gif" title="gna" alt="gna" />',t)
   t=remblaie(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');
   }


 
merci de m'aidé à me le faire fonctionné ce systéme d'aperçut final
 
merci d'avance

Reply

Marsh Posté le 08-02-2008 à 14:49:03   

Reply

Marsh Posté le 08-02-2008 à 14:54:04    

Vaudrait mieux faire ça en AJAX, pour demander au serveur la version aperçu. En plus là ça fait du code dupliqué/potentiellement difficile à maintenir

Reply

Marsh Posté le 08-02-2008 à 14:56:53    

re  
 
ok mais alors comment on fait car  là j'en ai marre de tourner au rond dépuis 3 mois
 
es ce que tu eux m'aidé à le faire merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed