Erreur : Is not a function ?
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 :
Code:
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> |
(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)
et le Javascript :
Code:
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");
}
}
}
}
} |
Voila, si il manque des choses, ou que des explications ne sont pas claires, je suis prêt à répondre :)
merci d'avance!