begin process at 2012 05 27 16:41:27
  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 :9 017

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 FORMULAIRE TABLEAU par vic511
Source avec Zip Source avec une capture FORMULAIRE DYNAMIQUE par Niidhogg
Source avec Zip Source avec une capture CONTRAINTE DE SAISIE SUR CHAMPS INPUT par ryosama
SELECTS DÉPENDANTS PRÉ-CHARGÉS D'UNE SEULE OPTION par phm
Source avec Zip Source avec une capture BOITE DE DIALOGUE MODALE DE SÉLECTION D'UNE LISTE D'ICONES par JJDai

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...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



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

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