Bonjour @ tous.
J'ai cr�� dans ma page index.php, une zone de liste li�e avec AJAX qui fait que lorsque je s�lectionne une valeurs dans cette zone de liste 1 une zone de liste 2 apparait.
Jusque l�, aucun probl�me.
Le probl�me arrive lorsque je tente de faire la m�me chose � partir de la zone de liste 2 pour faire apparaitre une zone de liste 3, �a ne fonctionne pas !
Au niveau du code de mon index.php j'ai :
Code html : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12 <div id='choix_utilisateur_mcd'> <!-- Création de la zone de liste pour choisir le MCD à l'ouverture de mon index.php + AJAX--> <?php include 'statistiques_choix_mcd.php'; ?> </div> <div id='choix_utilisateur_table'> <!-- Création de la zone de liste pour choisir la table en fonction du MCD lorsque je sélectionne ma première valeur --> </div> <div id='choix_utilisateur_champ'> <!-- Création de la zone de liste pour choisir le champ en fonction de la table - qui ne fonctionne pas--> </div>
Dans mon premier include, je g�n�re ma premi�re zone de liste � l'ouverture et sur l'�v�nement : onchange je g�n�re ma seconde zone de liste dans le div choix_utilisateur_table.
Comme je disais, l� aucun probl�me. Pour g�n�rer cette seconde zone de liste, je fais appel � un fichier PHP similaire � celui de l'include (en dehors des ID que je modifie bien entendu). Il contient, � la fois la requ�te qui me g�n�re la zone de liste et � la fois le script pour le JavaScript et l'Ajax :
Code php : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?php $dbconnect = pg_connect("host=localhost port=5432 dbname=mybdd user=postgres password=azerty"); $requete = "SELECT value,libelle FROM table WHERE champ = '" . addslashes($_POST['var']) . "';"; $resultat = pg_query($dbconnect,$requete) or die(pg_errormessage()); echo "<form id='choix_table' method='POST'> <table><tr><td> <select align='top' name='zlchoix_table' id='idzlchoix_table' maxlength='80'>"; while ($row=pg_fetch_array($resultat)){ print ("<br><option value=".$row["value"].">".$row["libelle"]); } echo"</select></td></tr> </table> </form>"; pg_close($dbconnect); ?>J'ai test� de faire un alert sur ma variable inputs1, mais je vois bien que l'�v�nement onchange ne fonctionne pas. C'est pour cette raison que j'en d�duis que c'est le script qui ne fonctionne pas.
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 function choixzltable(value){ var xhr = new XMLHttpRequest(); xhr.open ('POST','statistiques_choix_champ.php'); var value1 = encodeURIComponent(value); xhr.onreadystatechange = function(){ if (xhr.readyState === 4 && (xhr.status === 200 || xhr.status === 0)){ document.getElementById('choix_utilisateur_champ').innerHTML = xhr.responseText; } } xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xhr.send('var_table=' + value1); } (function() { var inputs1 = document.getElementById('idzlchoix_table'); inputs1.onchange = function() { choixzltable (this.value); } })();
Mais ce que je ne comprend pas, c'est que j'ai fais quelques tests compl�mentaires peu concluants :
J'ai tent� un include de mon deuxi�me php dans mon index.php mais �a ne fonctionne pas plus.
J'ai tent� d'int�grer directement dans mon index.php le script, sans plus de r�sultat...
Est-ce que vous auriez une id�e de l'origine du probl�me ?
Par avance merci.
Geo-x
Partager