Bonjour à tous!
Je me tourne vers vous car je rencontre une erreur dans une de mes pages PHP, due à une fonction Javascript :
J'essaye d'appeler une fonction appelée "Vote", et la console d'erreur de firefox m'indique "erreur, Vote is not a function".
J'ai beau tout retourné, tout re-faire, ça ne veut vraiment pas marcher, et je ne vois pas d'ou vient le soucis...
Si quelqu'un pouvait m'aider, je lui en serai reconnaissant
Je vous mets le code des pages :
Code PHP qui génère l'HTML :
(ce code est généré par une page PHP, qui fait des includes, si il faut je peux détailler ce code la aussi)
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 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="scripts/script_participation_sondage.js"></script> <title>Détail du projet tagada</title> </head> <body> <div> <a href="./deconnexion.php">Se déconnecter</a> </div> <div> <p>Informations relatives au projet sélectionné :</p> <p>Idée du projet : renovation</p> <p>Theme : test1</p> Presentation du projet : longue test1 <p>Voulez-vous participer à ce projet ?</p> </div> <div> <form name="vote_sondage" method="POST" onsubmit="vote(this,'1','1');"> <select name="vote" class="obligatoire"> <option value="" selected="selected">Faîtes votre voix</option> <option value="pour">voter pour</option> <option value="contre">voter contre</option> <option value="blanc">s'abstenir</option> </select> <input type="submit" name="ok" value="valider le vote" /> </form> </div> <div id="load_ajax"></div> </body> </html>
et le Javascript :
Voila, si il manque des choses, ou que des explications ne sont pas claires, je suis prêt à répondre
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 function vote(select,id_sondage,id_user) { if(!confirm("êtes-vous sur?")) { select.vote.options[0].selected = true ; return false ; } else { var choix_vote = select.vote.value ; //<==========================Création de la requête XMLHttp ====================================> var xhr=null; if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else if (window.ActiveXObject) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } //<==========================================================================================> //on définit la fonction qui va être exécuté à chaque retour de serveur xhr.onreadystatechange = function() { alert_ajax() ; } ; xhr.open("POST","./AJAX/valid_vote.php", true) ;//on définit quoi utiliser et comment xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');//on rajoute le header indispensable pour les données envoyées en POST xhr.send("vote="+choix_vote+"&id_sondage="+id_sondage+"&id_user="+id_user) ;//et on envoi la requêtes avec les paramètres POST function alert_ajax(){ //fonction appellée à chaque changement d'état du serveur if (xhr.readyState ==4) { var response = xhr.responseText ; if (response ==0) { //si le vote a été validé de manière correcte document.getElementById('load_ajax').innerHTML = "Votre vote a bien été pris en compte" ; document.getElementById('load_ajax').setAttribute("class","free"); } else if (response ==1) { //sinon on affiche une erreur de vote document.getElementById('load_ajax').innerHTML = "Une erreur est apparue durant le vote, veuillez re-essayer" ; document.getElementById('load_ajax').setAttribute("class","used"); } } } } }
merci d'avance!
Partager