Insertion à partir de la position du curseur dans une textbox ou autre.

Contenu du snippet

D'aprés ce que j'ai vu,il marche déja sur IE et Mozilla.Et donc comme son titre l'indique,il permet d'effectuer une insertion à partir de la position du curseur dans une textbox ou autre.Le modebb permet de récuperer le texte selectionné et de le mettre dans des balises.Ainsi quand le modebb est activé (modebb = true) la valeur du texte à ajouter doit contenir les balises de fin et de début tels que [u]/u.

Source / Exemple :


<html>
<body>
<input name="msg" id="modif"><input type="button" value="Insert" onclick="insert('modif','[u]/u',true)">
<script>
<!--
function insert(box,text,modebb)
{
box = document.getElementById(box);
var str = box.value;
var msgstart = box.selectionStart,msgend = box.selectionEnd; // recupération de la position du curseur
var balise = text.split("]"); 
var balisedebut = balise[0] + "]",balisefin = balise[1] + "]"; //recuperation de la balise de debut et de fin 
 if(typeof msgstart == "undefined")// cas IE
 {	
 box.focus();
 var caretPos = document.selection.createRange().duplicate();
  if(!modebb)
  caretPos.text = text; // modification du texte séléctionné 
  else
  caretPos.text = balisedebut + caretPos.text + balisefin; // modification du texte séléctionné  avec les balises
  
 }
 else // cas autre
 {
  if(!modebb)
  box.value = str.substring(0,msgstart) + text + str.substring(msgend,str.length); // ajout simple a partir de la position du curseur
  else
  box.value = str.substring(0,msgstart) + balisedebut + str.substring(msgstart,msgend) + balisefin + str.substring(msgend,str.length); // ici je recupere le texte selectionné et ajoute une balise au début et à la fin
 box.setSelectionRange(msgstart+text.length,msgstart+text.length); // repositionne le curseur dans la textbox
 }
box.focus();	
}
-->
</script>
</body>
</html>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.