[AJAX] Selon son emplacement ma liste déroulante fonctionne ou pas : etrange !
Bonjour,
Je suis désespérée!!! J'ai deux listes déroulantes liées semblables, l'une marche et pas l'autre... Je les rafraichit avec XmlHTTPRequest. Et si je prends celle qui marche et la met à la place de l'autre elle ne fonctionne plus...
Y a t'il une erreur dans mon code? Qu'est ce qui pourrait provoquer ça?
Ah oui et j'ai oublié; quand je dis que ça ne fonctionne pas c'est qu'il ne se passe... rien! (rien du tout meme firebug n'emet pas la moindre protestation!!ouin...:( )
A l'aide!
Voici mon code html (qui fonctionne dans une fenetre independante de ma page principale) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<div dojoType="dialog" id="calculSalarieHoraire" >
<form id="choix" action="affichage.php" method="post">
<div class="formFrame">
<div class="formRow">
<label for="process">Process</label>
<select name="blocProcess" id="blocProcess" onchange="getPole(this.value,this.id,'blocPole');" dojoType="ComboBox">
<option selected value="vide">--Choisissez le process--</option>
<!-- suite du select-->
</select>
</div>
<div class="formRow">
<span id="blocPole"></span><br />
</div> |
Le meme code (ou presque?) qui ne fonctionne pas :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<div class="formRow">
<label for="process">Process</label>
<select name="appartenanceProcess" id="appartenanceProcess" onchange="javascript:getPole(this.value,this.id,'appartenancePole');" dojoType="ComboBox">
<option selected value="vide">--Choisissez le process--</option>
<!--suite du select-->
</select>
</div>
<div class="formRow">
<span id="appartenancePole"></span><br />
</div> |
Et pour finir ma fonction getPole(...)
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
|
function getPole(idr,id,destination)
{
/* Si il n'y a pas d'identifiant de process, on fait disparaître la seconde liste au cas où elle serait affichée */
if(idr == 'vide')
{
document.getElementById(id).innerHTML = '';
}
else
{
/* message d'attente */
var blocListe = document.getElementById(id);
blocListe.innerHTML = "Traitement en cours, veuillez patienter...";
/* On crée l'objet XHR */
creerRequete();
/* Définition du fichier de traitement */
var url = 'listesDeroulantes.php?idr='+ idr;
/* Envoi de la requête à la page de traitement */
requete.open('GET', url, true);
/* On surveille le changement d'état de la requête qui va passer successivement de 1 à 4 */
requete.onreadystatechange = function()
{
/* Lorsque l'état est à 4 */
if(requete.readyState == 4)
{
/* Si on a un statut à 200 */
/*if(requete.status == 200)
{
/* Mise à jour de l'affichage*/
var listePole = requete.responseText;
var blocListe = document.getElementById(destination);
blocListe.innerHTML = listePole;
//}
}
};
requete.send(null);
}
} |
J'offre une prime à celui qui me résoud ce casse tete, j'en peux plus! :mouarf2:
Merci !
Bonne journée