Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JS] Textarea

insérer carcratères à l'emplacement du curseur

    28 janvier 2006 à 14:00:42

    Salut !

    Je n'y connais rein en javascript, mais en observant un peu et avec quelques tests, j'ai presque réussi à faire ce que je voulais :

    onclick="getElementById('message').value = getElementById('message').value+':-)'"


    La seule chose qui est pour moi un défaut, c'est que le smilie va ce mettre à la tout à la fin de ce qui est déjà tapé, alors que j'aurai aimé qu'il soit insérer à l'endroit où se trouve le curseur.

    Comment faire ceci SVP ?

    Cordialement
    • Partager sur Facebook
    • Partager sur Twitter
      29 janvier 2006 à 10:17:22

      Bonjour, J'ai fais 2 fonctions pour ça :

      function insert(textarea, form, avant, apres=null, inner=null){
        var champ = document.forms[form].elements[textarea];
        var textarea_value = champ.value;
       
        if(getSelection){
          champ.focus();
          var deb_sel = textarea_value.substr(0, champ.selectionStart);
          var end_sel = textarea_value.substr(champ.selectionEnd, textarea_value.length);
          var sel = getSelection();
          textarea_value = deb_sel + avant + sel + inner + apres + end_sel;
        }else if(champ.createTextRange){
          champ.focus();
          var sel = document.selection.createRange().text;
          document.selection.createRange().text = avant + sel + inner + apres;
        }
        champ.focus();
      }
      function smilies(form, textarea, smiley){
        insert(textarea, form, smiley);
      }

      Pour l'utiliser :
      <a href="javascript:void(0);return:false;" onClick="smilies('formulaire', 'message', ':)');return:false;"><img title=":)" alt=":)" src="url_du_smiley" /></a>
      <!-- Avec un formulaire de ce type : -->
      <form name="formulaire" action="page.html"method="post">
      <label>Message :<br /><textarea name="message" rows="10" cols="25"></textarea></label><br />
      <input type="submit" />
      </form>

      Tout simplement :)



      Bisous, Nyu
      • Partager sur Facebook
      • Partager sur Twitter
        29 janvier 2006 à 11:12:55

        merci beaucoup :)

        Citation : Dutiona

        Tout simplement



        :p pour moi c'est loin d'être simple de comprendre ce code :-)
        Le JS ne ressemblerait pas un peu (beaucoup) au php je n'y comprendrais strictement rien :)

        merci encore !

        @ +

        • Partager sur Facebook
        • Partager sur Twitter

        [JS] Textarea

        × 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