Mettre le Focus entre 2 balises

Mettre le Focus entre 2 balises - HTML/CSS - Programmation

Marsh Posté le 14-06-2005 à 23:42:23    

Bonsoir à tous, encore une fois, je viens m'adresser à vous, les Savants :D.
 
Voici ce que jai fait il y a quelques temps
http://bibi35.free.fr/
 
quand on clic sur une icone, mon Focus (grace à JS) se met apres mes 2 balises. Voici mon code JS.
http://bibi35.free.fr/fonction.js
 
Je suis assez novice en JS, et je voudrai en fait que mon Focus se mette entre mes 2 balises.
Par exemple

Code :
  1. [imgs]|[/imgs]


 
Tout comme ce forum le fais, j'ai chercher un peux dans les sources de ce site, il faut dire que jai beaucoup de mal a me repéré dans tout ca.
 
Une petite aide serai la bienvenue, Merci

Reply

Marsh Posté le 14-06-2005 à 23:42:23   

Reply

Marsh Posté le 15-06-2005 à 00:46:39    

Ben tu regardes le code source HTML de la page pour répondre, tu cherches le code qui correspond aux boutons, tu regardes la fonction JavaScript appelée dans le "onclick" et enfin tu cherches la fonction en question dans le fichier .js lié à la page.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 15-06-2005 à 01:55:16    

Peut etre que moveStart peut t'aider :
http://msdn.microsoft.com/library/ [...] eStart.asp
 
recherche des exemples sur Googeul

Reply

Marsh Posté le 15-06-2005 à 18:27:24    

Voici le code pour le insert.

Code :
  1. function TAinsert(text1,text2) {
  2. var ta = document.getElementById('contenu');
  3. if (document.selection) {
  4.  var str = document.selection.createRange().text;
  5.  ta.focus();
  6.  var sel = document.selection.createRange();
  7.  if (text2!="" ) {
  8.   if (str=="" ) {
  9.    var instances = countInstances(text1,text2);
  10.    if (instances%2 != 0) sel.text = sel.text + text2;
  11.    else sel.text = sel.text + text1;
  12.   } else sel.text = text1 + sel.text + text2;
  13.  } else sel.text = sel.text + text1;
  14. } else if (ta.selectionStart || ta.selectionStart == 0) {
  15.  if (ta.selectionEnd > ta.value.length) ta.selectionEnd = ta.value.length;
  16.  var firstPos = ta.selectionStart;
  17.  var secondPos = ta.selectionEnd+text1.length;
  18.  var contenuScrollTop = ta.scrollTop;
  19.  ta.value=ta.value.slice(0,firstPos)+text1+ta.value.slice(firstPos);
  20.  ta.value=ta.value.slice(0,secondPos)+text2+ta.value.slice(secondPos);
  21.  ta.selectionStart = firstPos+text1.length;
  22.  ta.selectionEnd = secondPos;
  23.  ta.focus();
  24.  ta.scrollTop = contenuScrollTop;
  25. } else { // Opera
  26.  var sel = document.hop.contenu;
  27.  var instances = countInstances(text1,text2);
  28.  if (instances%2 != 0 && text2 != "" ) sel.value = sel.value + text2;
  29.  else sel.value = sel.value + text1;
  30. }
  31. }


 
Franchement je suis Out sur ce langage, plein de petite chose que je ne comprend pas, meme quasiment la totalité de ce script. Je n'aime pas JS, ce n'est pas ma tasse de thé.
Si on pouvais maider franchement. Merci


Message édité par Badze le 15-06-2005 à 18:30:33
Reply

Marsh Posté le 15-06-2005 à 18:54:25    

le secret est la ;)
 var sel = document.selection.createRange();

Reply

Marsh Posté le 16-06-2005 à 01:58:07    

hum hum, ouai mais non,  
I am a very very a big shit in javascript ( et anglais par ailleur aussi )  :pt1cable:  
 
Je voudrai faire un truc du genre,

Code :
  1. function truc(debut,fin) {
  2. document.getElementById('id-message').value=document.getElementById('id-message').value+debut;
  3. document.getElementById('id-message').focus();
  4. document.getElementById('id-message').value= document.getElementById('id-message').value+fin;
  5. }


 
Mais bien entendu ce focus, se met automatiquement en fin par défault.
createRange(); => je ne vois pas trop son fonctionnement et a quoi il sert précisement.
 
Je regarde sur certain tutoriel mais cela ne m'avance pas a grand chose pour mon petit cerveau.  :lol:


Message édité par Badze le 16-06-2005 à 02:01:59
Reply

Marsh Posté le 17-06-2005 à 00:32:29    

createRange() c'est ce qui permet de récupérer la sélection en cours ou d'en créer une nouvelle.
 
Car, je sais pas si tu as remarqué, mais les boutons ont 2 comportements :
 - si du texte est sélectionné ça ajoute les balises autour du texte sélectionné
 - si aucun texte n'est sélectionné, ça ajoute les balises et le curseur est placé entre les 2.
 
Le script est divisé en trois parties :
 - la première, avec document.selection.createRange() est utilisée par IE
 - la deuxième avec selectionStart et selectionEnd est pour Mozilla/Firefox
 - et la dernière, comme indiqué, est pour Opera.
 
Bref commence par te renseigner sur MSDN http://msdn.microsoft.com/library/ [...] _entry.asp pour IE, et là http://www.mozilla.org/docs/dom/domref/ pour Mozilla/Firefox
Un coup d'oeil sur les specs de JavaScript ne fera pas de mal non plus http://www.croczilla.com/~alex/ref [...] cript_ref/


Message édité par gm_superstar le 17-06-2005 à 00:32:55

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed