begin process at 2012 02 14 08:22:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaire

 > AJOUT D'UN TEXTE AU NIVEAU DU CURSEUR (IE/MOZILLA)

AJOUT D'UN TEXTE AU NIVEAU DU CURSEUR (IE/MOZILLA)


 Information sur la source

Note :
5,25 / 10 - par 4 personnes
5,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Formulaire Niveau :Débutant Date de création :27/06/2004 Vu :8 897

Auteur : derfum

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

 Description

J'ai eu besoin pour un éditeur de texte (type celui de ce site) d'inserer du texte à la position du curseur, et non à la fin du texte, et j'ai trouvé ce code (que j'ai à peine modifié) sur PhpMyAdmin, qui a l'énorme avantage de marcher avec IE et Mozilla/FireFox

Source

  • function insertValue(chaineAj) {
  • var myForm = document.WriteForm.text;
  • //IE support
  • if (document.selection) {
  • myForm.focus();
  • sel = document.selection.createRange();
  • sel.text = chaineAj;
  • document.WriteForm.focus();
  • }
  • //MOZILLA/NETSCAPE support
  • else if (document.WriteForm.text.selectionStart || document.WriteForm.text.selectionStart == "0") {
  • var startPos = document.WriteForm.text.selectionStart;
  • var endPos = document.WriteForm.text.selectionEnd;
  • var chaine = document.WriteForm.text.value;
  • myForm.value = chaine.substring(0, startPos) + chaineAj + chaine.substring(endPos, chaine.length);
  • } else {
  • myForm.value += chaineAj;
  • }
  • }
function insertValue(chaineAj) {
    var myForm = document.WriteForm.text;
        //IE support
        if (document.selection) {
            myForm.focus();
            sel = document.selection.createRange();
            sel.text = chaineAj;
            document.WriteForm.focus();
        }
        //MOZILLA/NETSCAPE support
        else if (document.WriteForm.text.selectionStart || document.WriteForm.text.selectionStart == "0") {
            var startPos = document.WriteForm.text.selectionStart;
            var endPos = document.WriteForm.text.selectionEnd;
            var chaine = document.WriteForm.text.value;

            myForm.value = chaine.substring(0, startPos) + chaineAj + chaine.substring(endPos, chaine.length);
        } else {
            myForm.value += chaineAj;
        }
    }

 Conclusion

exemple d'utilisation :
<input type="button" onclick="insertValue('[g] [/g]')" value="gras" />


 Sources de la même categorie

Source avec Zip Source avec une capture BOITE DE DIALOGUE MODALE DE SÉLECTION D'UNE LISTE D'ICONES par JJDai
Source avec Zip Source avec une capture RÉSOLUTION D'UN SYSTÈME D'ÉQUATIONS LINÉAIRES À N INCONNUES par william voirol
Source avec Zip Source avec une capture PLUGIN JQUERY LISTE MODIFIABLE (COMBO) AUTOCOMPLÉTÉE par medkarim
GESTION DE NUMÉRO DE TÉLÉPHONE SIMPLE DANS FIREFOX7 par rotomtom
Source avec Zip Source avec une capture RECOMMANDER CETTE PAGE AVEC MAILTO, ACCENT ET RETOUR LIGNE D... par weabow

Commentaires et avis

Commentaire de magalice le 19/02/2005 20:28:35

Où faut il insérer le script et que veux dire"explication fianale" ?
Merci

Commentaire de magalice le 19/02/2005 20:28:40

Où faut il insérer le script et que veux dire"explication fianale" ?
Merci

Commentaire de varbool le 11/05/2006 18:35:59

ca marche pas comme ca
il faut peut être un formulaire ?!

Commentaire de varbool le 11/05/2006 18:42:14

C'est bien ce que je pensais il faut créer un formulaire appelé 'WriteForm' et un text input appelé 'text'

Commentaire de Cdyx le 15/12/2007 13:02:24 3/10

Pratique ce petit bout de code :)

Clément.

Commentaire de Children le 22/03/2008 15:43:55

Très pratique, bien que très simple ;)
Pour ceux qui débarqueront sans connaissance, copier/coller ce bout de code dans la page html ou vous avez coller le script.
<form name="WriteForm" id="WriteForm">
<textarea name="text" id="text" cols="45" rows="5"></textarea><p>
<input type="button" onclick="insertValue('[g] [/g]')" value="gras" />  
</form>

Je post ce message même si le sujet remonte à très loin car ce script est référencé sur "l'éditeur javascript" et je suppose que plusieurs sont comme VARBOOL lors de sa première question, donc je donne le script, pour éviter aux (très) débutant d'avoir à chercher, même si VARBOOL a donner la réponse dans son deuxième message. Au passage, un petit 7/10.

Commentaire de Children le 22/03/2008 15:44:13 7/10

Pour le 7 ;)

Commentaire de msatter le 21/10/2009 04:02:17

je suis tombé sur ce code que j'ai aimé merci! je propose une mise à jour qui permet de sélectionner la textarea par son id:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<meta http-equiv="Content-Style-Type" content="text/css">
<LINK HREF="style.css" TYPE="text/css" REL="stylesheet">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" >  
function insertValue(chaineAj,id) {
     var myForm = document.getElementById(id);
     //IE support
     if (document.selection) {
     myForm.focus();
     sel = document.selection.createRange();
     sel.text = chaineAj;
     document.getElementById(id).focus();
     }
     //MOZILLA/NETSCAPE support
     else if (document.getElementById(id).selectionStart || document.getElementById(id).selectionStart == "0") {
     var startPos = document.getElementById(id).selectionStart;
     var endPos = document.getElementById(id).selectionEnd;
     var chaine = document.getElementById(id).value;
    
     myForm.value = chaine.substring(0, startPos) + chaineAj + chaine.substring(endPos, chaine.length);
     } else {
     myForm.value += chaineAj;
     }
    }
</script>  
</HEAD>
<BODY>
<a href="javascript:void(0);" onclick="javascript:insertValue('<strong>texte en gras</srtong>','text');"><b>gras</b></a> |<a href="javascript:void(0);" onclick="javascript:insertValue('<i>texte en italique</i>','text');"><i>italique</i></a>
<form name="WriteForm" id="WriteForm">
<textarea name="text" id="text" cols="45" rows="5"></textarea><p>
</form>
</BODY>
</html>

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 1,747 sec (4)

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