begin process at 2008 08 29 15:20:18
1 233 707 membres
237 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

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


Information sur la source

Catégorie :Formulaire Niveau : Débutant Date de création : 27/06/2004 Vu : 6 579

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
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" />
  • signaler à un administrateur
    Commentaire de magalice le 19/02/2005 20:28:35

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

  • signaler à un administrateur
    Commentaire de magalice le 19/02/2005 20:28:40

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

  • signaler à un administrateur
    Commentaire de varbool le 11/05/2006 18:35:59

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

  • signaler à un administrateur
    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'

  • signaler à un administrateur
    Commentaire de Cdyx le 15/12/2007 13:02:24 3/10

    Pratique ce petit bout de code :)

    Clément.

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    Commentaire de Children le 22/03/2008 15:44:13 7/10

    Pour le 7 ;)

Ajouter un commentaire

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS