Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1810 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS] Sauvegarder position curseur dans textarea

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JS] Sauvegarder position curseur dans textarea

n°1517444
trmassoud
Posté le 21-02-2007 à 10:36:39  profilanswer
 

Bonjour,
 
J'ai fait pas mal de recherche mais je n'ai pas trouvé de réponses satisfaisantes.
 
J'ai les contraintes suivantes :
- le script doit fonctionner au minimum sous IE
- la zone textarea fait 4 lignes sur 35 de long et le texte rentré par l'utilisateur est ensuite coupé en 4 lignes de 35 pour etre stocké dans une base DB2
- le copier coller doit fonctionner, si c'est trop long, on coupe à la sauvage
 
j'ai pondu un bout de code :

Code :
  1. function dverifTextArea(zone)
  2. {
  3.   //on ne fait rien si on touche les fleches
  4.   if (event.keyCode >= 37 && event.keyCode <= 40)
  5.     return;
  6.    
  7.   var ValeurInitiale = document.getElementById(zone).value;
  8.   var TailleInitiale = ValeurInitiale.length;
  9.   var nblig = parseInt(document.getElementById(zone).rows);
  10.   var nbcol = parseInt(document.getElementById(zone).cols);
  11.   var taillemax = nbcol * nblig;
  12.  
  13.   var taillereelle = 0;
  14.   var tailleligne = 0;
  15.  
  16.   var nbLigneApres = 1;       
  17.   var valeurApres = "";
  18.  
  19.   var i=0;
  20.  
  21.   while (nbLigneApres <= nblig && i < ValeurInitiale.length && taillereelle <= taillemax)
  22.   {
  23.     //si caractere "normal"
  24.     if (ValeurInitiale.charCodeAt(i) != '13' && ValeurInitiale.charCodeAt(i) != '10')
  25.     {
  26.       taillereelle++;
  27.       tailleligne++;
  28.       //si on depasse la taille max de ligne
  29.       if (tailleligne > nbcol )
  30.       {
  31.         tailleligne = 0;
  32.         valeurApres += String.fromCharCode('13'); + String.fromCharCode('10');
  33.         nbLigneApres += 1;
  34.       }
  35.       valeurApres += String.fromCharCode(ValeurInitiale.charCodeAt(i));
  36.     }
  37.     //si on rencontre un entré
  38.     if (ValeurInitiale.charCodeAt(i) == '13' && ValeurInitiale.charCodeAt(i+1) == '10')
  39.     {
  40.       //si on dépasse le nombre de ligne max
  41.       if (nbLigneApres + 1 <= nblig)
  42.       {
  43.         nbLigneApres += 1;
  44.         tailleligne = 0;
  45.         valeurApres += String.fromCharCode(ValeurInitiale.charCodeAt(i)) + String.fromCharCode(ValeurInitiale.charCodeAt(i+1));
  46.         i++;
  47.       }
  48.     }   
  49.  
  50.   i++;
  51.   }
  52.   document.getElementById(zone).value =  valeurApres;
  53. }


 
avec le lancement sur le onkeyup :

Code :
  1. soft 
  2. <br>
  3. <textarea style="OVERFLOW: hidden" wrap="soft" cols="35" rows="4" id="soft"    onkeyup="javascript:dverifTextArea('soft');">
  4. </textarea>
  5. <br>


 
Le problème c'est que le curseur se retouve systématiquement à la fin de ma zone de texte, j'aimerais qu'il reste à sa position initiale.
 
je pensais sauvegarder cette position, faire ma fonction et le remettre ensuite.
 
J'ai lu pas mal de sujet, avec les createRange(), caretPos, ... mais je n'arrive pas à les mettre en oeuvre.
 
Peut-être aussi que la démarche de base, vérifier le texte et le stocker dans une variable de coté puis remplacer ce texte, n'est pas la bonne.
 
Si vous avez des idées...

mood
Publicité
Posté le 21-02-2007 à 10:36:39  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS] Sauvegarder position curseur dans textarea

 

Sujets relatifs
scritp qui empeche le curseur de la souri de sortir de la page.curseur qui ne peut sortir de la page
[word] surcharger la commande "sauvegarder sous"[Oracle 10.2] PL/SQL Paramètre Curseur
css: varier la position en hauteur d'une bannière selon le texte.sauvegarder un objet dans la requete
menu fixe suivant sa positionajuster la position de block <div>
Problème position imageRécupérer et redéfinir la position du curseur
Plus de sujets relatifs à : [JS] Sauvegarder position curseur dans textarea


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR