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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 127 fois - Téléchargée 20 fois

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

Ajouter un commentaire Commentaires
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
9 mars 2008 à 15:33
super, ça fonctionne nikel !

est-il possible de cacher les balises et d'afficher directement dans la textbox le texte en gras, en italique ou en souligné (selon le choix) dans
abdelaziz_info Messages postés 120 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 12 janvier 2017
20 déc. 2007 à 00:20
c'est bien, vbott
Avant les changements c’été la même chose !
Mai maintenant ton code fonctionne.
boncourage
vbott Messages postés 4 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 19 décembre 2007
19 déc. 2007 à 20:29
Encore désolé, au temps pour moi je n'avais pas bien compris. L'erreur etant corrigée depuis peu ils fonctionnent sur ces navigateurs.
vbott Messages postés 4 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 19 décembre 2007
19 déc. 2007 à 20:23
Désolé de te contredire mais j'ai fait les différents tests sur opéra et sur safari et cela s'est révelé concluant.
vbott Messages postés 4 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 19 décembre 2007
19 déc. 2007 à 20:04
Firefox tu es sur , j'ai pourtant testé recamment et cela fonctionnait bien. En tout cas tu connaitrais la source de son dyfonctionnement sur les navigateurs que tu as cité ?
Afficher les 10 commentaires

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.