IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

selectionner une partie du texte dans un Input avec JS


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Par défaut selectionner une partie du texte dans un Input avec JS
    bonjour,
    je souhaite (selectionner une partie du texte dans un Input avec JS)
    je n'y arrive pas sous IE.
    mais dur MF le code fonctionne est donne ceci.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //longdeb est la position du cartere qui debute la selection
    var longdeb = 2;
    //longdeb est la position du cartere qui finit la selection
    var longvale= 6;
    document.forms["test"].elements["champ"].selectionStart=longdeb;
    document.forms["test"].elements["champ"].selectionEnd=longvale;
    merci de votre aide.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 200
    Par défaut
    Bonjour,
    pour IExplorer il faut passer par un createTextRange()
    il existe des milliers de codes sur le net mais je m'en vais te livrer le meilleur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    function setSelectionText( obj, deb, fin){
      // remet en ordre croissant au cas ou
      if( deb > fin){
        deb ^= fin;
        fin ^= deb;
        deb ^= fin;
      }
      // get l'element id ou element permis
      var oText = (typeof obj === 'object') ? obj : document.getElementById(obj);
      // si existe
      if( oText){
        // mise du focus
        oText.focus();
        // en direct si supporte
        if( typeof oText.selectionStart != "undefined"){
          oText.setSelectionRange( deb, fin);
        }
        // IE and consort
        else{
          // create range
          var oRange = oText.createTextRange();
          // get le text a selectionner
          var sTmp = oText.value.substring( deb , fin);
          // pas de chaine vide
          if( sTmp){
            // recherche
     	      oRange.findText( sTmp);
          }
          else{
            // deplacement curseur
            oRange.moveStart('character', deb);
            oRange.collapse();
          }
          // selection
          oRange.select();
        }
        return( true);
      }
      return( false);
    }
    l'appel se fait de la façon la plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setSelectionText( 'id_element', deb, fin);
    ou encore dans ton cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setSelectionText(document.forms["test"].elements["champ"], 2, 6);
    il y a surement plus simple

Discussions similaires

  1. [MySQL] Perte d'une partie de variable dans un <input type="text"
    Par demerzel dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 04/05/2009, 11h50
  2. Réponses: 4
    Dernier message: 20/06/2008, 15h19
  3. [MySQL] effacer une partie du texte dans une table mysql
    Par jackbauer33 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/05/2008, 19h12
  4. Réponses: 8
    Dernier message: 04/05/2007, 11h41
  5. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo