J'ai essayé de faire ça, mais ça me donne le même résultat qu'avec la commande que j'ai mise en commentaire... c'est a dire que le select ne me renvois rien. Merci quand même pour la syntaxe, elle est surement plus adaptée que la mienne.
j'ai tenté de faire un echo "<option>" . $_POST['Client']. "</option>"; dans le premier if, j'obtiens bien le nom du client. En revanche, j'ai fais la même chose dans le second if, et la je n'obtiens rien (champs vide).
Donc à priori, il y a bien un problème pour passer cette variable d'un if a l'autre. Est-ce que ça peut venir du fait qu'ils sont utilisés dans des fonctions différentes ?
Voici mes deux fonctions javascripts, au cas ou ça pourrait aider. Ces fonctions sont appelées dans des select (ex: <select name="Client_ini" id='Client_ini' onchange="go()"> )
Code :
- function go(){
- var xhr = getXhr();
- xhr.onreadystatechange = function(){
- if(xhr.readyState == 4 && xhr.status == 200){
- leselect = xhr.responseText;
- document.getElementById('Appli').innerHTML = leselect;
- }
- }
- xhr.open("POST","ajaxParam.php",true);
- xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
- sel = document.getElementById('Client_ini');
- Client = sel.options[sel.selectedIndex].value;
- xhr.send("Client="+Client);
- }
- function goz(){
- var xhr = getXhr();
- xhr.onreadystatechange = function(){
- if(xhr.readyState == 4 && xhr.status == 200){
- leselect = xhr.responseText;
- document.getElementById('id').innerHTML = leselect;
- }
- }
- xhr.open("POST","ajaxParam.php",true);
- xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
- sel = document.getElementById('Appli');
- Application = sel.options[sel.selectedIndex].value;
- xhr.send("Application="+Application);
- }
|
En fait le déroulement se passe comme ceci: Je sélectionne un client dans la première liste, ça m'appelle une fonction javascript (go()), qui elle même fait appel à un script php (dans un autre fichier php, c'est celui que j'ai affiché dans mon premier message). Lors de cette étape, je rentre donc dans le 1er if. Ça me permet d'afficher les applications en rapport avec le client dans la seconde liste.
Ensuite je sélectionne une application dans la seconde liste, ça m'appelle une seconde fonction javascript (goz()), qui à son tour appel le script php. Et c'est à ce moment que j'entre dans le second if et que je suis sensé afficher les id en rapport avec l'application ET le client.
Le problème vient donc peut être du fait que je sors du script, et y rerentre seulement après... dans ce cas il faudrait que je récupère la valeur de cette variable dans mon javascript, et que je la renvoie avec ma 2e fonction... mais ça me semble un peu bizarre comme bidouille