2010-01-07 3 views
0

Je n'arrive pas à comprendre ce problème pour une raison quelconque mon code (no votes cast) sera affiché s'il n'y a pas de votes castés dans Firefox mais pas dans Internet Explorer Je me demandais si certains peuvent montrer moi comment résoudre ce problème afin que le code est affiché dans les deux navigateurs? J'utilise JQuery et PHP. Je suis en train d'utiliser JQuery et PHP.Problèmes d'affichage du navigateur PHP et IE

Voici le code PHP.

// function to retrieve average and votes 
function getRatingText(){ 
    $sql= "SELECT * FROM vote"; 
    $result = mysql_query($sql); 
    $rs = mysql_fetch_array($result); 
    if (!empty($rs['value']) && !empty($rs['counter'])){ 
     $avg = (round($rs['value']/$rs['counter'],1)); 
     $votes = $rs['counter']; 
     echo $avg . "/10 (" . $votes . " votes cast)"; 
    } else { 
     echo "(no votes cast)"; 
    } 
} 

Code JQuery.

$(document).ready(function() { 
    // get current rating 
    getRating(); 
    // get rating function 
    function getRating(){ 
     $.ajax({ 
      type: "GET", 
      url: "update.php", 
      data: "do=getrate", 
      cache: false, 
      async: false, 
      success: function(result) { 
       // apply star rating to element dynamically 
       $("#current-rating").css({ width: "" + result + "%" }); 
       // add rating text dynamically 
       $("#rating-text").text(getRatingText()); 
      }, 
      error: function(result) { 
       alert("some error occured, please try again later"); 
      } 
     }); 
    } 

    // get average rating 
    getRatingText(); 
    // get average rating function 
    function getRatingText(){ 
     $.ajax({ 
      type: "GET", 
      url: "update.php", 
      data: "do=getavgrate", 
      cache: false, 
      async: false, 
      success: function(result) { 
       // add rating text 
       $("#rating-text").text(result); 
      }, 
      error: function(result) { 
       alert("some error occured, please try again later"); 
      } 
     }); 
    } 

    // link handler 
    $('#ratelinks li a').click(function(){ 
     $.ajax({ 
      type: "GET", 
      url: "update.php", 
      data: "rating="+$(this).text()+"&do=rate", 
      cache: false, 
      async: false, 
      success: function(result) { 
       // remove #ratelinks element to prevent another rate 
       $("#ratelinks").remove(); 
       // get rating after click 
       getRating(); 
      }, 
      error: function(result) { 
       alert("some error occured, please try again later"); 
      } 
     }); 

    }); 
}); 
+1

Veuillez poster votre code jQuery utilisé pour appeler la fonction. –

Répondre

1

En JavaScript, votre premier appel à getRatingText() est incorrect (L'appel dans la fonction getRating()):

$("#rating-text").text(getRatingText()); 

Vous exécutez en fait cela parce que votre méthode ne retourne rien:

$("#rating-text").text(undefined); 

Modifier cette ligne en seulement:

getRatingText(); 
+0

Cela n'a pas fonctionné peut-être que j'ai mal compris votre réponse? – Jawa

+0

Je l'ai compris, mais un autre problème se pose merci. – Jawa