FCKEditor - transmission de variable

Flo
Eléphanteau du PHP | 48 Messages

22 mai 2008, 16:02

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 ;-)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

23 mai 2008, 11:14

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;
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Flo
Eléphanteau du PHP | 48 Messages

23 mai 2008, 13:57

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:

Eléphant du PHP | 175 Messages

23 mai 2008, 14:23

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;

Flo
Eléphanteau du PHP | 48 Messages

23 mai 2008, 14:41

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 :?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

23 mai 2008, 14:48

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...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Flo
Eléphanteau du PHP | 48 Messages

23 mai 2008, 15:18

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à ?