Rechercher : dans
Par :

Focus (curseur au bon endroit dans le champ)

Dernière réponse le 16 nov 2008 à 12:05:32 rad, le 11 mai 2004 à 12:28:07 
 Signaler ce message aux modérateurs

Hug a tous,

mon probleme est que je suis en train de faire un petit chat, j'ai donc une fenetre contenant plusieurs frames:

- une qui affiche le texte
- une qui permet à l'utilisateur de saisir son message.

La premiere se rafraichie ttes les x secondes et elle fait donc perdre le focus a la seconde. En utilisant onBlur je reussi à rendre le focus a la seconde (et plus precisement a son champs text), mais mon probleme est que si l'utilisateur est en train de taper son message pendant cette operation, ca ne va pa car le focus est mis dans le champ text au debut.

par exemple si on tape 'bonjour a tous!' et que la premiere frame est rafraichie quand on en est au 'r', ca donne:

' a tous!bonjour' et le curseur est apres le '!'.
J'aimerai donc savoir si c'etait possible de specifier l'emplacement où l'on veut placer le curseur lors d'une prise de focus.

Merci d'avance! (déjà pour avoir bien voulu lire;-))

1

rad, le 11 mai 2004 à 14:35:06

J'ai aussi une interrogation: j'aimerai savoir si il est possible en javascript d'ajouter des lignes à la fin d'une page en cours d'utilisation.
Par exemple un bonton sur lequel on clique et qui ajoute à la fin de la page une phrase. (j'ai essayé avec document.write() mais ca ne produit pas l'effet recherché, ca me charge une page blanche avec ma phrase en haut à droite).
Merci ;-)

Répondre à rad

2

DaNot, le 11 mai 2004 à 16:09:39

Salut,

La fonction focus est assez simpliste ! Le seul moyen est :
1. sauvegarder le contenu de ton champs dans une variable,
2. raz la valeur du champs
3. donner le focus au champs
4. ajouter le contenu mémorisé dans le champs.
Le focus se trouvera à la fin du contenu.

En ce qui concerne l'ajout de texte en fin de page, mon avis est que la page doit être de toute manière rechargée. Une solution (peut etre lourde !) est de regenerer ta page en re-affichant ce qui existe deja et d'ajouter le reste ?!

DaNot
un Libre ouvert à la source...

Répondre à DaNot

3

rad, le 11 mai 2004 à 16:23:26

Salut,

merci pour ta réponse: un seul bémol (le petit 4/ )
car que je n'ai pas réussi à trouver comment afficher une variable javascript (j'm'y connais très peu)!
Si tu as 2 secondes pour m'expliquer ... Merci!

Pour le second pblem je pensais que c'etait possible de faire autrement car une fois j'ai chatté sur un site qui proposai un chat php (sans applet java) et où j'ai eu l'impression que les messages s'ajoutais sans rechargement complet de la page. (mais peut-etre que mes souvenirs sont corrompus lol)
en tous cas thank you for that message!

Répondre à rad

4

DaNot, le 11 mai 2004 à 16:34:16

Salut,

Voici un exemple

<html>

<script>
function setFocus( ) {
   var tValue = document.forms[0].elements["iSaisie"].value;
   document.forms[0].elements["iSaisie"].value = "";
   document.forms[0].elements["iSaisie"].focus( );
   document.forms[0].elements["iSaisie"].value = tValue;
}
</script>

<body>

<form>
   <input type="text" value="Saisie" name="iSaisie">
   <input type="button" value="go" onclick="setFocus(); return true;">
</form>

</body>

</html>
DaNot
un Libre ouvert à la source...

Répondre à DaNot

5

 didierma, le 16 nov 2008 à 12:05:32

Bonjour,

Une des solutions serait d'utiliser des DIV à la place des Frames.
Ainsi tu peux faire tout cela en Ajax avec l'aide du Framework Prototype.
Ce framework peut rafraichir à intervale régulier des DIV ou tout autre élément nommé.
Regarde entre autre ceci : http://amillet.developpez.com/tutoriels/javascript/ajax-prot­otype/
ou encore ceci : http://prototypejs.org/download

Amicalement

Répondre à didierma