comment insérer du code autour du text selectioné?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : comment insérer du code autour du text selectioné?

par Truc » 09 févr. 2007, 00:12

Oh mes très grands remerciements Genova! Je vais pouvoir étudier ça, merci!
Même si Ryle ne t'a pas donné de code il a tout de même répondu... :roll:

par karvboy » 08 févr. 2007, 23:58

Oh mes très grands remerciements Genova! Je vais pouvoir étudier ça, merci!

par Genova » 08 févr. 2007, 12:50

Bonjour,
essaie avec ce code :

Code : Tout sélectionner

/* ** Insertion de texte dans un textarea ** ----- ** id :: ID du textarea ** open :: Ouverture ** defaultText :: Texte central ** close :: Fermeture */ function launch_insert_text(id, open, defaultText, close) { var txtarea = document.getElementById(id); txtarea.focus(); // IE support if (document.selection) { insert_ie(open, defaultText, close, txtarea); } // MOZILLA support else if (txtarea.selectionStart || txtarea.selectionStart == '0') { insert_mozilla(open, defaultText, close, txtarea); } else { txtarea.value += open + defaultText + close; } } function insert_ie(open, defaultText, close, txtarea) { if (txtarea.createTextRange) { txtarea.focus(txtarea.caretPos); txtarea.caretPos = document.selection.createRange().duplicate(); if (txtarea.caretPos.text.length > 0 && open != '') { defaultText = txtarea.caretPos.text; } txtarea.caretPos.text = open + defaultText + close; } } function insert_mozilla(open, defaultText, close, txtarea) { var x = txtarea.scrollTop; var selStart = txtarea.selectionStart; var selEnd = txtarea.selectionEnd; var selLength = selEnd - selStart; var textStart = txtarea.value.substring(0,selStart); var textEnd = txtarea.value.substring(selEnd, txtarea.textLength); if (selLength != 0 && open != '') { defaultText = (txtarea.value).substring(selStart, selEnd) } if (x == 0 && (txtarea.textLength == selStart)) { x = txtarea.textLength + 200; } txtarea.value = textStart + open + defaultText + close + textEnd; var txt = open + defaultText + close; var cur_pos = selStart + txt.length; txtarea.scrollTop = x; if (!(selLength != 0 && open != '')) { txtarea.selectionStart = selStart + open.length; txtarea.selectionEnd = txtarea.selectionStart + defaultText.length; } else { txtarea.selectionStart = selStart + open.length; txtarea.selectionEnd = selEnd + open.length; } }
pour l'utilisation :

Code : Tout sélectionner

<textarea id="id_du_textarea"></textarea><br /> <input type="button" value="Gras" onclick="launch_insert_text('id_du_textarea', '[b]', 'Texte par defaut', '[/b]')" />

par Ryle » 08 févr. 2007, 10:36

Une petite recherche sur le forum du mot clé "bbcode" devrait t'apporter une tripoté de résultats, d'exemples, et d'explications sur le sujet :)

comment insérer du code autour du text selectioné?

par karvboy » 08 févr. 2007, 01:18

voici mon dilemme;

J'aimerais pouvoir sélectionner une portion de text dans le textarea, et ensuite pouvoir cliquer sur un bouton afin que le text selectionné soit ensuite entourré par le code [ b ] et [ /b ] dans le textarea. Comment-puis-je arriver à faire cela?

Est-ce que quelqu'un pourrait m'aider? Un exemple m'aiderais vachement gros à comprendre le concept.

Merci!