Bonjour,
J'ai 3boutons radios dans mon formulaire.
je dois charger un champ liste(par requête) si l'un des boutons radio est clické.
Pour cela, j'ai défini cette fonction javascript ajax qui est appelée sur les événements onclick() de chaque bouton.
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 function modif_select(val_compte){ var natcompte1= ''; var montext=''; var js_table; var js_tableau; var xhr = getXhr(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ alert_ajax(xhr); } // Ici on va voir comment faire du post xhr.open("POST","listes_comptes.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 xhr.send("val_compte="+val_compte); if (val_compte=='prod') { document.getElementById('ligne_branche').style.display = ""; } else { document.getElementById('ligne_branche').style.display = 'none'; } if (val_compte=='Inv') { document.getElementById('ligne_libelle').style.display = ""; } else { document.getElementById('ligne_libelle').style.display = 'none'; } function alert_ajax(xhr) { if (xhr.readyState==4 && xhr.status == 200 ) { montext=xhr.responseText; js_table=montext.split(","); js_tableau=JSON.parse(js_table); Num_compte.options.length = 0; Num_compte.options[0] = new Option('Aucun','-1'); for (i=0; i < js_tableau.length; i++) { Num_compte.options[i+1] = new Option(js_tableau[i],js_tableau[i]) } document.forms["test"].elements["intitule_compte"].value=""; } } }
Quand on ne soumets pas encore le formulaire( par une autre fonction ajax qui s'en occupe aussi qui est la fonction req_pseudo() sur le bouton valider d'en haut ), le chargement du champ liste se déroule correctement(fonction ajax ci-dessous) quand on clike sur un bouton
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 <form> <div align="center"> <label><b>Charges:</b></label> <INPUT type="radio" name="natcompte" value="charg" checked onclick="return modif_select(this.value);"/> <b><label style="margin:0 0em 0 5%">Produits :</label></b> <INPUT type="radio" name="natcompte" value="prod" onclick="return modif_select(this.value);" /> <b><label style="margin:0 0em 0 6%">Investissements :</b> <INPUT type="radio" name="natcompte" value="Inv" onclick="return modif_select(this.value);"/> </br> </br> </div> <input type="button" name="valide" value="Enregistrer" onclick="req_pseudo();"/> </form>
Par contre quand on clique le bouton 'Enregistrer', après si on reclique sur un autre bouton d'option , là le champ du liste ne contient que le chargement des données de la dernière exécution de la fonction ajax rattachée à l'evenemnt onclick().
J'ai l'impression que la fonction ajax appelée sur chacun des boutons radio cesse de s'excetuter si on enregistre les données en base (appel d'une autre fonction ajax).
Ce qui m’étonne vu que ça devait faire comment avant, c'est à dire re-s’exécuter si on clique sur un autre bouton.
Voilà, je sais pas c'est du à quoi
Merci de votre aides car ça peut me causer des ennuis.
Cordialement.
Partager