Bonjour à tous !!
Voila j'ai un formulaire et quelques listes déroulante. J'ai une liste déroulante qui contient des années (comme 2015,2016, etc) et mon but c'est que lorsque que j'ai sélectionné une année dans ma 1e liste j'obtient dans ma 2e liste les numéro issu lot de cette année. J'utilise ajax et json. Mais malheureusement je n'ai rien dans ma 2e liste. Et même mon message d'erreur ne s'affiche pas. Par contre l'instruction alert toute seule dans mes balises script fonctionne.
voici mon code javascript:
Mon formulaire avec mes listes:
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 <head> <script> var $annee_issu_lot = $('#annee_issu_lot'); var $num_issu_lot = $('#num_issu_lot'); // à la sélection d une région dans la liste $annee_issu_lot.on('change', function() { var val = $(this).val(); // on récupère la valeur de la région if(val != '') { $num_issu_lot.empty(); // on vide la liste des numéros de lot $.ajax({ url: 'liste_issu_lot.php', data: 'annee='+ val, // on envoie $_GET['annee'] dataType: 'json', success: function(json) { $.each(json, function(index, value) { $num_issu_lot.append('<option value="'+ index +'">'+ value +'</option>'); }); }, error : function(){ alert("Une erreur est survenue"); } }); } }); alert("hello"); </script> </head>
Et le fichier liste_issu_lot.php.php que j'appelle avec le javascript:
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 <fieldset class="fs couleur4"> <legend class="fs_legende">Informations Générales</legend> <div style="float:left;"> <label for="num_lot" class="label">Numéro de lot</label><br class="br"/> <input id="num_lot" name="num_lot" readonly="readonly" type="text" value="<?php echo $num_lot; ?>" style="width:98%;" required /> <div id="div_num_lot"></div> <label for="annee_issu_lot1" class="label">Année issu lot</label><br class="br"/> <select id="annee_issu_lot" name="annee_issu_lot" class="select" required /> <option value="">...</option> <?php for ($i=2014; $i<=3000; $i++) { ?> <option value=""><?php echo $i; ?></option><?php } ?> </select> <br class="br"/> <label for="client" class="label">Client</label><br class="br"/> <div id="div_client"></div> <br class="br"/> <label for="code_projet" class="label_no_w">Code projet</label> <div style="float:right;"> <a href='../projet/ajt_projet.php' onclick='window.open(this.href); return false;'> <img style="float:left;margin-left:5px;margin-top:12px;" src='../../icone/P_ajt.png' alt='' /> </a> <a href='#' onclick='Projet(client.value);'> <img style="float:left;margin-left:5px;margin-top:11px;margin-right:2px;" src='../../icone/P_refresh.png' alt='' /> </a> </div> <br class="br"/> <div id="div_projet"></div> <br class="br"/> <label for="urgent" style="float: left;width: 120px;padding: 8px 0px 2px 0px;" >Type Priorité</label><br class="br"/> <select id="urgent" name="urgent" class="select"> <option value="0" selected>Demande normale</option> <option value="1">Demande urgente</option> </select> </div> <div class="bordure_gauche"> <label for="site" class="label">Site</label><br class="br"/> <select id="site" name="site" class="select" required> <option value="">...</option> <?php while ($list_site = oci_fetch_assoc($statement2)) { ?> <option value="<?php echo $list_site['ID_SITE']; ?>"><?php echo $list_site['LABEL_SITE']; ?></option><?php } ?> </select> <br class="br"/> <label for="num_issu_lot" class="label">Numéro issu lot</label><br class="br"/> <select id="num_issu_lot" name="num_issu_lot" class="select" required> <option value="">...</option> </select> <br class="br"/> <div id="div_issu_lot"></div> <br class="br"/> <label for="resume" class="label4">Résumé</label> <br class="br"/> <textarea id="resume" name="resume" maxlength="128" rows="3" cols="30" class="textarea" type="text"></textarea> <br class="br"/> <label for="application" class="label4">Application Vehicule</label> <br class="br"/> <textarea id="application" name="application" placeholder="" maxlength="128" rows="3" cols="30" class="textarea" type="text"></textarea> </div> <div id="div_mode_u" class="bordure_gauche"> </div> </fieldset>
Merci d'avance pour votre aide car la je bloque sur ce problème.
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 <?php header('Content-Type: text/html; charset=ISO-8859-1'); include("../../connexion.php"); if(isset($_GET['annee'])) { if($_GET['annee'] != "") { $json = array(); $requete = "SELECT ID_EN_COURS,NUM_LOT,DESIGNATION,REFERENCE FROM POP_EN_COURS WHERE NUM_LOT LIKE UPPER('%".$_GET['annee']."-%') ORDER BY NUM_LOT ASC"; $statement = oci_parse($conn, $requete); oci_execute($statement,OCI_COMMIT_ON_SUCCESS); while ($issu_lot = oci_fetch_assoc($statement)) { // je remplis un tableau et mettant l'id en index (que ce soit pour les régions ou les départements) $json[$issu_lot['ID_EN_COURS']][] = utf8_encode($issu_lot['NUM_LOT']); } // envoi du résultat au success echo json_encode($json); } } ?>
Partager