cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 2015
-
6 mai 2008 à 10:54
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 2015
-
14 mai 2008 à 09:15
Saluté tout le monde ! vous avez la forme ? héhé ... nan c'est pas parce qu'on demande de l'aide qu'il ne faut pas s'enquerir de la forme de ses "helpeurs" potentiels ...
bon vala ... je vous explique c'est pas très complexe (quoique).
J'utilise le framework prototype et un editeur wisiwig "spaw editor" (très joli d'ailleurs je vous le conseille) ...
mon idée est de sauvegarder à intervale régulier le contenu tappé dans l'editeur...
pour ça je suis obligé de récupérer le contenu d'une textarea... donc jusque là ça va j'ai réussi à me démerder...
sauf que les éditeurs wisiwig utilisent une Iframe pour le mode "mise en page" et quand je récupère le contenu de la textarea (en fait le code html de ce qui est dans la fameuse Iframe) eh bien mon iframe perds le focus ...
donc si je ne regarde pas et que je continue à écrire eh bien vu que j'ai perdu le focus j'ecris dans le vide ...
l'idée est donc de trouver le moyen de redonner le focus à mon Iframe et de positionner le curseur à la fin (ou mieux là ou j'en étais avant la sauvegarde automatique) ...
sauf qu'une Iframe n'est pas une textArea et que je ne sais pas comment elle est considérée comme telle en mode edition :(
bref neeeed help !
merci par avance à vous
@++
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 6 mai 2008 à 11:05
Bonjour,
le problème n'est pas de rendre le focus
??.focus(); ( avec ?? différent ie et autres navigateurs ) fonctionne très bien,
mais de repositionner le curseur là où il était.
<hr /> Cordialement Bul [mon Site] [M'écrire]
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 6 mai 2008 à 11:24
ouaip ... je pense que c'est plus complexe que ça ...
en fouillant le code de l'aditeurs j'ai trouvé cette fonction
// focus
SpawEditor.prototype.focus = function()
{
var obj = (this.isInDesignMode())?this.getPageIframe(this.getActivePage().name):this.getPageInput(this.getActivePage().name);
if (obj.contentWindow) // gecko
obj.contentWindow.focus();
else
obj.focus();
}
mais je ne sais pas comment l'utiliser depuis "l'extérieur" ....
dans leur code j'ai des trucs du genre
//editor.getPageIframe(editor.active_page.name).focus();
mais moi je ne connais même pas le nom de mon objet créé puisque tout est instancié depuis une class php ....
disons que c'est pas trop prévu pour bidouiller direct en JS au départ ... mais là il me manque plus que ça pour avoir une appli nikel :(:(
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 6 mai 2008 à 12:14
>>je ne connais même pas le nom de mon objet créé puisque tout est instancié depuis une class php
euh ? c'est pas parce que c'est créé en php qu'on ne connais pas le nom d'un objet !
>>
ouaip ... je pense que c'est plus complexe que ça ...
pour rendre le focus ? non, non , c'est assez simple,
sauf différence IE / FF, comme souvent !
si pour l'iframe id name "Saisie"
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 6 mai 2008 à 14:34
J'ai trouvé le moyen de récupérer le code que je veux sans perdre le focus ...
le pb est que sous firefox ça me renvoie le curseur au début du texte ... au lieu de le laisser à sa position actuelle :(
sous IE ça marche...
j'ai trouvé des fonctions pour positionner le curseur mais apparament ça ne marche pas :(
Je sais pas si c'est un bug lié à FF ou à spaw mais je commence à perdre espoir ...
J'ai posé des question sur leur forum mais sans réponses ... p'tet que mon anglais est trop mauvais ... lol
++ et merciiii !!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 6 mai 2008 à 14:44
j'ai testé le setSelectionRange mais apparament ça ne marche pas sur une iframe non ?
ça ne marche que sur des objets de type champ de texte ou textarea ?