begin process at 2010 02 10 11:49:00
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaire

 > AJOUTER DU TEXTE A LA POSITION DU CURSEUR DANS UN TEXTAREA

AJOUTER DU TEXTE A LA POSITION DU CURSEUR DANS UN TEXTAREA


 Information sur la source

Note :
8,5 / 10 - par 6 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Formulaire Niveau :Débutant Date de création :29/11/2001 Vu :25 411

Auteur : fabiin

Ecrire un message privé
Site perso
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

Code compatible avec IE et kelkes bugs:
exemple d'une page:

Source

  • <HTML>
  • <HEAD>
  • <TITLE>Insert</TITLE>
  • <SCRIPT LANGUAGE="JavaScript">
  • function storeCaret (textEl)
  • {
  • if (textEl.createTextRange)
  • textEl.caretPos = document.selection.createRange().duplicate();
  • }
  • function insertAtCaret (textEl, text)
  • {
  • if (textEl.createTextRange && textEl.caretPos)
  • {
  • var caretPos = textEl.caretPos;
  • caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
  • }
  • else
  • textEl.value = text;
  • }
  • </SCRIPT>
  • </HEAD>
  • <BODY>
  • <FORM>
  • <textarea rows="5" name="zonetexte" cols="20"ONSELECT="storeCaret(this);"ONCLICK="storeCaret(this);"ONKEYUP="storeCaret(this);"> C'est le début du texte.</textarea>
  • <INPUT TYPE="button" STYLE="font-family:courier;" VALUE="Ajouter"
  • ONCLICK="insertAtCaret(this.form.zonetexte,'LE TEXTE');">
  • </FORM>
  • </BODY>
  • </HTML>
<HTML>
<HEAD>
<TITLE>Insert</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function storeCaret (textEl)
{
if (textEl.createTextRange) 
textEl.caretPos = document.selection.createRange().duplicate();
}
function insertAtCaret (textEl, text)
{
if (textEl.createTextRange && textEl.caretPos)
{
var caretPos = textEl.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
}
else
textEl.value  = text;
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<textarea rows="5" name="zonetexte" cols="20"ONSELECT="storeCaret(this);"ONCLICK="storeCaret(this);"ONKEYUP="storeCaret(this);"> C'est le début du texte.</textarea>
<INPUT TYPE="button" STYLE="font-family:courier;" VALUE="Ajouter"
ONCLICK="insertAtCaret(this.form.zonetexte,'LE TEXTE');">
</FORM>
</BODY>
</HTML> 

 Conclusion

Code demandé sur le forum de l'editeur javascript


 Sources du même auteur

EFFET GUIRLANDE (IMAGE QUI SUIT LA SOURIS,
AJOUTER DU TEXTE DANS A LA FIN D'UN TEXTAREA

 Sources de la même categorie

Source avec Zip Source avec une capture CALCULS RAYNAUX V2 par Ali Bibi
Source avec Zip Source avec une capture VALIDATION D'UN FORMULAIRE par grarestephane
Source avec Zip Source avec une capture CHAT VIRTUEL par grarestephane
Source avec Zip Source avec une capture AJOUTER ET SUPPRIMER DES FICHIERS DANS UNE LISTE par grarestephane
Source avec Zip TEXTAREA : LIMITER LA LARGEUR ET LA HAUTEUR DU TEXTE SAISIE par vilfarfadet

Commentaires et avis

Commentaire de matrey le 29/12/2002 18:58:03

Merci beaucoup, c'est exactement ce dont j'avais besoin !

Commentaire de sasoum le 07/02/2003 18:54:34

Comment je pourrais modifier ce code qui est génial, pour mettre en fin rajouter du teste autour du teste selectionner, comme pour mettre en gras un mot spécifique je veut rajouter deux balise autour

Commentaire de Psyk le 08/03/2003 16:29:10

Tu peux toujours rechercher sur le net les "UBB codes" et t'inspirer de leur programmation.

Commentaire de TiTan909 le 23/01/2004 13:35:09

C'est génial pour mon site, mais comme tu l'as si bien dit, il ne marche que sous IE, il n'y a pas moyen de le faire fonctionner sous Mozilla ; Netscape?

Commentaire de abdoulax le 18/11/2005 14:17:16

Tu aurais pu enlever les event sur le texte area:
textEl.focus();
var caretPos = document.selection.createRange().duplicate();
caretPos.text = le_text;
Et pour firefox:
var texteDeb= textEl.value.substring( 0 , textEl.selectionEnd );
var texteEnd= textEl.value.substring( textEl.selectionEnd , textEl.textLength );
textEl.value= texteDeb + " " + le_text + " " + texteEnd;

...

Have fun

Commentaire de aynoy le 29/04/2006 11:13:24

Ca marche bien quand on n'a qu'un seul champ dans le formulaire.
Je voudrais savoir comment on fait quand il y plusieurs champs dans le même formulaire.

Marci pour votre aide.

Commentaire de aynoy le 29/04/2006 14:10:24

Comment faire quand il y a plusieurs champs dans le formulaire ?
COmment récupérer le nom du champ où se trouve le curseur ?

Merci

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales