bonsoir
je veux transmettre une variable d'une page php vers une autre page php via ajax, dans la 1 ere page php (trace.php) j'ai un input et une liste déroulante, quand je déroule la liste le contenu de ma page change en fonction de la valeur, cela est fait, mais le problème c'est que je veux transmettre avec cette liste déroulante un id.
voici ma page php (trace.php)
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
16
17
18
19
20
21
22
23
24
25
26
27
28 <?php echo '<link rel="stylesheet" href="styles.css">'; require('../../config.php'); require_once($CFG->dirroot.'/course/lib.php'); require_once($CFG->libdir.'/adminlib.php'); require_once($CFG->dirroot.'/report/suivi/lib.php'); $id = required_param('id',PARAM_INT); echo " <script type='text/javascript' src='js/liste_dynamique_ajax.js'></script> <form action='trace.php' method='post'> <input id='course' name='course' value=".$id." /> <center><label for='trace'>Evenement</label> <select name='trace' id='trace' onchange='go()'> <option value='-1'> Choisir un évenement</option> <option value='1'>".get_string('nbr_acc', 'report_suivi')."</option> <option value='2'>".get_string('nbr_page', 'report_suivi')."</option> <option value='3'>".get_string('nbr_fichier', 'report_suivi')."</option> <option value='4'>".get_string('nbr_msg', 'report_suivi')."</option> <option value='5'>".get_string('nbr_elt', 'report_suivi')."</option> <option value='6'>".get_string('nbr_tentativ', 'report_suivi')."</option> </select></center> </form> <div id='resultat' style='display:inline'> </div> "; ?>
ma page js (liste_dynamique_ajax.js)
et ma page php où je désire passé mon paramètre
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 function go(){ var xhr = getXhr(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200){ leselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste document.getElementById('resultat').innerHTML = leselect; document.getElementById('resultat').value = leselect; } } // Ici on va voir comment faire du post xhr.open("POST","ajax_liste.php",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // ne pas oublier de poster les arguments sel = document.getElementById('trace'); idtrace = sel.options[sel.selectedIndex].value; sel2 = document.getElementById('course'); idcourse = sel2.options[sel2.selectedIndex].value; xhr.send("trace="+idtrace+"&id="+idcourse); }
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 if(isset($_POST["trace"])){ switch($_POST["trace"]){ case 1: echo $_POST["id"]; break; case 2: echo 'nombre de page';break; case 3: echo 'nombre de fichier';break; case 4: echo 'nombre de message';break; case 5: echo 'nombre délément';break; case 6: echo 'nombre de tentative';break; } }?>
$_post['id'] est inconnu
Merci bien d'avance pour votre aide
Partager