plugin Star Rating, erreur dans la fonction de rappel (callback)
J'ai un problème que j'arrive pas a géré. j'essaye de faire un système de vote comme dans cette exemple: http://orkans-tmp.22web.net/star_rat...=2&demo-tabs=6
j'ai donc fait ce code
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
| $(function(){
$("#ratings").children().not(":radio").hide();
$("#ratings").stars({
oneVoteOnly: true,
cancelShow: false,
callback: function(ui, type, value)
{
$("#ratings").hide();
var idstrategie=$("#strategie_id").val();
$.post("fonction/vote.php", {idstrat: idstrategie, valeur: value}, function(data)
{
var votetmp = new Array();
votetmp=data.split(';');
alert(data);
$("#ratings").val(Math.round(votetmp[0]));
$("#nbvote").html(votetmp[1]);
$("#ratings").show();
});
}
});
}); |
et ma page vote.php:
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 44 45 46
| <?php
session_start();
header("Content-type: text/html; charset=UTF-8" ); //resoud pd de cache ie
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date du passé
if( isset($_POST["idstrat"] ) && isset($_POST["valeur"] ) ) {
include '../config.php';
$connection = mysql_connect($sql['host'],$sql['user'],$sql['password']);
if ( ! $connection )
die ("connection impossible");
mysql_select_db($sql['base']) or die ("pas de connection");
mysql_query("SET NAMES 'utf8'");
$requete="SELECT * FROM vote WHERE userid=".$_SESSION["id"]." And strategieid=".$_POST["idstrat"];
$res=mysql_query($requete,$connection);
if($r = mysql_fetch_array($res))
{
$requete="UPDATE vote set valeur=".$_POST["valeur"].", votedate=CURRENT_TIMESTAMP WHERE userid=".$_SESSION["id"]." AND strategieid=".$_POST["idstrat"];
}
else
{
$requete="INSERT INTO vote (userid, strategieid, valeur) VALUES(".$_SESSION["id"].",".$_POST["idstrat"].",".$_POST["valeur"].")";
}
mysql_query($requete,$connection);
$requete="SELECT COUNT(valeur) as nbvaleur, AVG( valeur ) as avgvaleur FROM vote WHERE strategieid=".$_POST["idstrat"];
$reqv = mysql_query($requete,$connection);
if($datav = mysql_fetch_assoc($reqv))
{
$valvote=$datav['avgvaleur'];
$nbvote=$datav['nbvaleur'];
}
else{
$valvote=0;
$nbvote=0;
}
echo $valvote.";".$nbvote;
}
?> |
Ce code fonctionne très bien sous Firefox mais sous IE lorsque je clique sur une étoile j'ai une erreur:
Citation:
Détails de l’erreur de la page Web
Agent utilisateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)
Horodateur : Mon, 26 Apr 2010 14:19:30 UTC
Message*: Cet objet ne gère pas cette propriété ou cette méthode
Ligne*: 4959
Caractère*: 5
Code*: 0
URI*:
http://xxxxxxxx/js/jquery.js
Et ensuite losrque que j'appuie sur F5 sur la même page ça fonctionne parfaitement, je peux cliquer sur une étoile pour voter. Je comprend pas pourquoi je dois appuyer sur F5 A chaque fois pour voter...
Et si j'enlève la fonction callback dans le javascript je n'est plus aucune erreur je pense que ça donc venir de là.