Partage
  • Partager sur Facebook
  • Partager sur Twitter

smiley

    24 juin 2006 à 5:57:48

    Salut!!!
    J' arrive à insere les smileys mais je ne sais pas comment les mettre en racourcis c' est a dire, par exemple, au moment ou je vous parle je clique sur se smiléy :)
    et sa me donne tout de suite le code du smileys et sa m' évite de taper le code.
    Je voudrais savoir comment faire de meme svp?
    • Partager sur Facebook
    • Partager sur Twitter
      24 juin 2006 à 7:09:16

      C'est du javascript, cherches dans les tutos !
      • Partager sur Facebook
      • Partager sur Twitter
        24 juin 2006 à 10:59:38

        tu crées une fonction javascript qui va insérer un smiley lorsque tu cliques sur l'image du smiley

        <script type="text/javascript">
        function smiley()
        {
        document.monformulaire.texte.value += ":-)"; //on rajoute :-) dans la textarea
        }
        </script>

        <form name="monformulaire" action="lefichier.php" method="post">
        <!-- <input ..... /> -->
        <textarea name="texte">
        </textarea>
        <a href="javascript:smiley()">Insérer un smiley</a> <!-- lorsqu' on clique, cela execute la fonction smiley()  -->
        </form>

        a près à toi de l'améliorer à ta sauce
        • Partager sur Facebook
        • Partager sur Twitter
          24 juin 2006 à 11:08:45


          <script language="Javascript">

          var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
          var regexp = new RegExp("[\r]","gi");

          // http://www.editeurjavascript.com/scripts/scripts_formulaires_3_318.php
          // Adapté par Valérian (ajout de la gestion des smilies)
          // Ce code javascript peut donc être réutilisé par tous

          function storeCaret(selec,quel)
          {
                  if (isMozilla)
                  {
                  // Si on est sur Mozilla

                          oField = document.forms['news'].elements['newst'];

                          objectValue = oField.value;

                          deb = oField.selectionStart;
                          fin = oField.selectionEnd;

                          objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
                          objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
                          objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

                  //      alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")");
                         
                          if(quel == 1)
                          {       
                          oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]" + objectValueFin;
                          oField.selectionStart = strlen(objectValueDeb);
                          oField.selectionEnd = strlen(objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]");
                          oField.focus();
                          oField.setSelectionRange(
                                  objectValueDeb.length + selec.length + 2,
                                  objectValueDeb.length + selec.length + 2);
                          }
                          else
                          {
                          oField.value = objectValueDeb + objectSelected + selec + objectValueFin;
                          oField.selectionStart = strlen(objectValueDeb);
                          oField.selectionEnd = strlen(objectValueDeb + objectSelected + selec);
                          oField.focus();
                          oField.setSelectionRange(
                                  objectValueDeb.length + selec.length + 2,
                                  objectValueDeb.length + selec.length + 2);
                          }
                  }
                  else
                  {
                  // Si on est sur IE
                         
                          oField = document.forms['news'].elements['newst'];
                          var str = document.selection.createRange().text;

                          if (str.length>0)
                          {
                          // Si on a selectionné du texte
                                  var sel = document.selection.createRange();
                                  sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
                                  sel.collapse();
                                  sel.select();
                          }
                          else
                          {
                                  oField.focus(oField.caretPos);
                          //      alert(oField.caretPos+"\n"+oField.value.length+"\n")
                                  oField.focus(oField.value.length);
                                  oField.caretPos = document.selection.createRange().duplicate();
                                 
                                  var bidon = "%~%";
                                  var orig = oField.value;
                                  oField.caretPos.text = bidon;
                                  var i = oField.value.search(bidon);
                                  if(quel == 1)
                                  {
                                  oField.value = orig.substr(0,i) + "[" + selec + "][/" + selec + "]" + orig.substr(i, oField.value.length);
                                  }
                                  else
                                  {
                                  oField.value = orig.substr(0,i) + selec + orig.substr(i, oField.value.length);
                                  }
                                  var r = 0;
                                  for(n = 0; n < i; n++)
                                  {
                                  if(regexp.test(oField.value.substr(n,2)) == true)
                                  {
                                  r++;
                                  }
                                  };
                                  pos = i + 2 + selec.length - r;
                                  //placer(document.forms['news'].elements['newst'], pos);
                                  var r = oField.createTextRange();
                                  r.moveStart('character', pos);
                                  r.collapse();
                                  r.select();
                          }
                  }
          }

          </script>


          Le formulaire avec du BBCode:

          <form action="post.php?id={id}" method="POST" name="news"/>
          <input type="button" value="b" style="width:50px;font-weight:bold" onclick="storeCaret('b','1')"/>
          <input type="button" value="i" style="width:50px;font-style:italic" onclick="storeCaret('i','1')"/>
          <input type="button" value="u" style="width:50px;text-decoration:underline" onclick="storeCaret('u','1')"/>
          <input type="button" value="quote" style="width:50px" onclick="storeCaret('quote','1')"/>
          <input type="button" value="url" style="width:50px" onclick="storeCaret('url','1')"/>
          <input type="button" value="img" style="width:50px" onclick="storeCaret('img','1')"/><br/>
          <textarea name="newst" id="newst" rows="12" wrap="virtual" cols="62"></textarea>


          Le système avec les smileys:

          <a href="#" onclick="storeCaret(':)','0')"><img src="smilies/smile.gif" border="0"/></a>
          • Partager sur Facebook
          • Partager sur Twitter

          smiley

          × 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