[AJAX] Iframe, Div et Ajax
Bonsoir à toutes et tous, voici mon probleme du jour.
J'ai mis en place xAjax, qui marche très bien. J'ai mis en place FCKeditor, qui marche aussi très bien.
Par contre lorsque je veux mettre à jour une instance de FCKeditor avec xAjax, ben ça marche plus.
J'ai trouvé l'endroit où le "dessin" de l'éditeur se fait, et il est fait avec une iframe !!!!!!!! Je voulais donc remplacer ça par une div bien plus pratique puisque pour xAjax, on peut mettre à jour le contenu d'une balise dont on a l'ID (d'ailleurs ça ne marche pas avec l'ID de l'iframe !).
Probleme : la ligne de code d'origine est comme suit :
<iframe id="{$this->InstanceName}___Frame" src="{$Link}" width="{$this->Width}" height="{$this->Height}" frameborder="0" scrolling="no"></iframe>
Or la source link est du style :
http://monserveur.com/editor/fckedit...oolbar=MaBarre
Si je mets une div, la ligne de code serait comme suit (à peu près !), mais je ne peux plus avoir l'éditeur FCKeditor :
<div id="{$this->InstanceName}___Frame" style="width:{$this->Width}; height:{$this->Height}">$Link</div>
et ça m'affiche le lien en texte ... normal !
J'ai essayé avec include($Link) et ça ne fonctionne pas bien entendu.
Donc là je ne sais pas trop quoi faire :?
Quelqu'un saurait-il, soit comment modifier le contenu d'une iframe, soit comment afficher le résultat d'un lien dans une div ?
Merci pour votre aide et vos conseils ;)
pour finir (enfin je pense)
Voici quelques questions pour terminer si je peux encore abuser... :oops:
Tout d'abord le code intégral
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| <?php
// Fonctions XAJAX
function ma_fonction($arg)
{
// ici tu mets ton code : acces DB ou autre
if($arg=='1')
{
$contenue='test1';
}
elseif($arg=='2')
{
$contenue='test2';
}
else
{
$contenue= include("../text/edito1.php");
}
$objResponse = new xajaxResponse();
$objResponse->addAssign("id_de_ta_div","innerHTML","$contenue");
return $objResponse->getXML();
}
require("xajax.inc.php");
$xajax = new xajax(); //On initialise l'objet xajax
//Déclaration des fonctions PHP
$xajax->registerFunction('ma_fonction');
$xajax->processRequests();//Fonction qui va se charger de faire les requetes
?>
<html>
<head>
<?php $xajax->printJavascript();/*Fonction qui va afficher le javascript de la page*/ ?>
</head>
<body>
<select onChange="xajax_ma_fonction(this.value);">
<option value="1" selected="selected">select 1</option>
<option value="2">select 2</option>
<option value="3">select 3</option>
</select>
<li><a href='quoi mettre pour afficher le fichier dans le div'>test1</a></li>
<li><a href='quoi mettre pour afficher le fichier dans le div'>test2</a></li>
<li><a href='quoi mettre pour afficher le fichier dans le div'>test3</a></li>
<div id="id_de_ta_div"></div>
</body>
</html> |
dans le code ci-dessus, j'ai deux problématique.
La première est la partie inclus dans ma_fonction($arg) où je tente de passer un fichier php dans une variable $contenue mais cela ne fonctionne pas ! Le navigateur m'affiche un message XML d'erreur !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| function ma_fonction($arg)
{
// ici tu mets ton code : acces DB ou autre
if($arg=='1')
{
$contenue='test1';
}
elseif($arg=='2')
{
$contenue='test2';
}
else
{
$contenue= include("../text/edito1.php");
} |
La seconde question est que ton menu déroulant fonctionne bien, mais j'ai besoin de travailler avec un menu en forme de liste comme je l'ai mis ici... comment dois je inclure le "onclick" si c'est bien celui là qu'il faut ajouter !
Code:
1 2 3
| <li><a href='quoi mettre pour afficher le fichier dans le div'>test1</a></li>
<li><a href='quoi mettre pour afficher le fichier dans le div'>test2</a></li>
<li><a href='quoi mettre pour afficher le fichier dans le div'>test3</a></li> |
Merci encore et d'avance.