Page 1 sur 1

FCKEditor - transmission de variable

Posté : 22 mai 2008, 16:02
par Flo
Salut,
j'ai un soucis sous FCK.
Voilà j'aimerai lors de la validation de la fenêtre "Propriété du lien" que la valeur du champs URL soit copier dans un champs de mon formulaire de la page contenant l'éditeur.
C'est peut être pas très clair vu comme ça alors voilà une image :
Image
L'étape 1 est implémenté dans FCK, moi je voudrai mettre en place l'étape 2.
Ca semble vraiment tout con, j'suis sur que c'est la cas d'ailleur, mais je bloque rien ne marche...

Je travail sur le fichier :
\fckeditor\editor\dialog\fck_link.html
Et plus précisément sur cette fonction :

Code : Tout sélectionner

//#### The OK button was hit. function Ok() { var sUri, sInnerHtml ; oEditor.FCKUndo.SaveUndoStep() ; switch ( GetE('cmbLinkType').value ) { case 'url' : sUri = GetE('txtUrl').value ; if ( sUri.length == 0 ) { alert( FCKLang.DlnLnkMsgNoUrl ) ; return false ; } sUri = GetE('cmbLinkProtocol').value + sUri ; //### C'est ici :( break ;
La variable à transmettre est sUri.
J'ai testé, sans résultat, ça :

Code : Tout sélectionner

document.monForm.url.value = sUri;

Code : Tout sélectionner

window.opener.document.forms["monform"].elements["url"].value=sUri;
Arff le pire c'est que c'est une connerie c'est sur ;-)

Posté : 23 mai 2008, 11:14
par Ryle
Normalement "window.opener" correspond déjà au "document" de la fenêtre parente... en principe, ça devrait fonctionner comme ceci :

Code : Tout sélectionner

window.opener.forms["monform"].elements["url"].value=sUri;

Posté : 23 mai 2008, 13:57
par Flo
Merci pour ta réponse !

Malheureusement ça ne marche toujours pas.
Firefox me retourne : window.opener has not properties
En fait il me semble que ce n'est pas une popup peut être que ça vient de là ? le formulaire semble être dans une iframe.

Si vous avez d'autre idée je suis preneur ! :wink:

Posté : 23 mai 2008, 14:23
par steph29
si tu as la main sur le formulaire de l'url ( le 2 sur la photo)

met un id:

Code : Tout sélectionner

<input type="text" name="url" id="un_nom_de_tag_pour_mon_champ_url" />
et apres il ne te reste qu'a faire ca:

Code : Tout sélectionner

document.getElementById('un_nom_de_tag_pour_mon_url').value=sUri;

Posté : 23 mai 2008, 14:41
par Flo
J'ai la main sur toute les pages mais là encore ça ne marche pas :
document.getElementById('id_url') has not properties

Code : Tout sélectionner

document.getElementById('id_url').value=sUri;

Code : Tout sélectionner

<input type="text" name="url" id="id_url" value="" />
Doit bien y avoir un moyen :?

Posté : 23 mai 2008, 14:48
par Ryle
Effectivement, je n'avais aps fait attention au fait qu'il ne s'agisse pas d'une popup dans la capture... si c'est une iframe, il me semble que tu peux remplacer le "window.opener" par un "parent" qui te permet de parcourir l'arborescence des fenêtres...

Posté : 23 mai 2008, 15:18
par Flo

Code : Tout sélectionner

parent.forms["monform"].elements["id_url"].value=sUri;
= parent.forms has not properties

Je vais finir par y arrriver...
Pour la iframe je ne suis pas sur, en fait je ne sais pas exactement comment est gérer cette pseudo pop-up, la clé est peut être là ?