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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 795 fois - Téléchargée 18 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

Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013

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
Messages postés
120
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2017

c'est bien, vbott
Avant les changements c’été la même chose !
Mai maintenant ton code fonctionne.
boncourage
Messages postés
4
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
19 décembre 2007

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.
Messages postés
4
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
19 décembre 2007

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.
Messages postés
4
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
19 décembre 2007

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.