begin process at 2010 03 14 07:50:35
  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 682

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

DÉSACTIVER UN BOUTON SUBMIT APRÈS ENVOI DU FORMULAIRE par SoftDeath
IMPLEMENTATION DE RANDOM PERSONNALISÉ par ousous
IMPLEMENTATION DE HASHTABLE par ousous
JAVASCRIPT.UTIL.ITERATOR par ousous
Source avec Zip Source avec une capture PALETTE DE COULEURS par titnome

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


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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,608 sec (4)

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