Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/02/2011, 17h09   #1
Invité de passage
 
Ludovic Latu
Inscription : février 2011
Messages : 1
Détails du profil
Informations personnelles :
Nom : Ludovic Latu

Informations forums :
Inscription : février 2011
Messages : 1
Points : 0
Points : 0
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 :
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.
ludovic.latu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 18h09   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 744
Points : 4 744
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 :
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 :
setSelectionText( 'id_element', deb, fin);
ou encore dans ton cas
Code :
setSelectionText(document.forms["test"].elements["champ"], 2, 6);
il y a surement plus simple
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h22.


 
 
 
 
Partenaires

Hébergement Web