Bonjour à tous et toutes,
J'ai un problème avec l'utilisation d'Ajax pour alimenter dynamiquement 1 liste déroulante par rapport à la sélection d'un pays d'une 1ère liste déroulante.
En fait le code que j'ai fait ne marche pas sur Internet Explorer mais par contre sur les autres ça marche.
Voici le code que j'utilise :
Code AJAX :
Code HTML pour les 2 listes déroulantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 function SelectVille($idpays) { // créé un nouvel objet permettant d'envoyer une réponse au côté client $objResponse = new xajaxResponse(); $options=""; $db = JFactory::getDBO(); //Requête SQL pour rechercher les villes par rapport à l'ID Pays $select = 'v.*'; $from = '#__ville AS v'; $wheres[] = 'v.id_pays = '.$idpays; $order = 'v.ville'; $query = "SELECT " . $select . "\n FROM " . $from . "\n WHERE " . implode( "\n AND ", $wheres ) . "\n ORDER BY " . $order; $db->setQuery($query); $villes = $db->loadObjectList(); for($row_count=0; $row_count < count($villes); $row_count++) { // on place toutes les villes dans des options valables pour la liste SELECT $options .= '<option value="'.Trim($villes[$row_count]->id).'">'.Trim($villes[$row_count]->ville).'</option>'; } // l'Ajax remplacera le innerHTML (html intérieur) de la listeville pour y mettre $options $objResponse->addAssign("listeville","innerHTML",$options); // envoie la réponse en XML return $objResponse->getXML(); } require_once("components/com_auto/views/auto/xajax/xajax.inc.php"); $xajax = new xajax(); $xajax->registerFunction("SelectVille"); $xajax->processRequests(); ?>
Voilà, il doit y avoir une fonction ou quelque chose qui n'est pas compatible avec IE mais je ne vois pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php $xajax->printJavascript("components/com_auto/views/auto/xajax/"); ?> <SELECT name="pays" id="pays" onChange="xajax_SelectVille(this.value)">
Est-ce que vous pouvez m'éclairer car je cherche mais je ne trouve rien.
Merci d'avance pour votre aide.
FilipLarlbe,
http://www.galleryaircraft.com
Partager