- 1
[Opened] [résolu] getJSON
Posted by jayjay on 09/17/2010 10:42
Bonjour,
Pour charger les données de ma liste 2 en fonction de la sélection de la liste 1, je veux utiliser json. Mais je plante!!! Apparemment j'utilise mal $.getJSON.
Mon code javascript
<code>
<script type="text/javascript">
{literal}
function handleChange()
{
$.getJSON('governance~loader:loadThemes', function (data)
{
alert('Hello');//Juste pour tester
});
}
function load()
{
var oElement = document.getElementById("jforms_governance_searchEngine_id_type_governance");
if( !window.addEventListener )
oElement.OnChange=function(){handleChange()}
//compatibilité IE
else oElement.addEventListener("change", handleChange, false);
}
{/literal}
</script>{meta_html bodyattr array('onload'=>'load()')}
</code>Le code du contrôleur que j'appel via $.getJSON
class loaderCtrl extends jController {
<code>
protected $dbProfil = 'governance';
function loadThemes()
{
$daoTheme = jDao::get('theme~theme');
$condition = jDao::createConditions();
$condition->addCondition
('id_governance','=',$this->param('id_type_governance'));
$themes = $daoTheme->findBy($condition);
$rep = $this->getResponse('json');
$rep->data = $theme->fetchAll();
return $rep;
}
}
</code>Noter que l'événement change est bien détecté
Quelqu'un peut-il m'éclairé ? Merci
[Opened] getJSON
Posted by Vincentv on 09/17/2010 13:57
$.getJSON('governance~loader:loadThemes', function (data)
{
alert('Hello');//Juste pour tester
});
Essai de passer une URL à getJSON à la place d'un sélecteur jelix, ca devrais mieux fonctionner ^^
[Opened] getJSON
Posted by catsoup on 09/17/2010 20:46
Salut, je crois pas que ce code fonctionne tres bien en effet :p
Puisque 'governance~loader:loadThemes' est un selecteur (d'action), qui doit être donné en paramètre, de la méthode jUrl en l'occurence, pour qu'il soit converti en url.
Donc il faut récupérer l'url, avec {jurl 'governance~loader:loadThemes'} ou encore mieux {urljsstring 'governance~loader:loadThemes'} : http://jelix.org/articles/fr/manuel-1.2/(..)
Ce qui donne:
<script type="text/javascript">
<code>
var url = {urljsstring 'governance~loader:loadThemes'};
{literal}
function handleChange(){
$.getJSON(url, function (data){
alert('Hello');//Juste pour tester
});
}
{/literal}
</script> </code>[Opened] getJSON
Posted by foxmask on 09/17/2010 20:51
ou simplement comme ceci ;)
edit : ah catsoup plus rapide :) j'ai mis 10min a trouve dans la doc :D
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] getJSON
Posted by jayjay on 09/18/2010 13:46
Merci,
mais j'ai tenté les solutions proposées sans succès. Franchement pas de piste...N'y a t'il rien a faire au niveau du contrôleur ??
[Opened] [Résolu] getJSON
Posted by jayjay on 09/18/2010 14:51
Trop vite mon constat!!! ça marche avec le urljsstring Merci
- 1

