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 : 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(); 
?>
Code HTML pour les 2 listes déroulantes :

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)">
Voilà, il doit y avoir une fonction ou quelque chose qui n'est pas compatible avec IE mais je ne vois pas.
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