2010-01-07 16 views
0

Я не могу понять, что эта проблема по какой-то причине будет отображаться в моей части кода (no votes cast), если в Firefox нет голосов, заброшенных в Firefox, но не в Internet Explorer. Мне было интересно, могут ли некоторые из них показать мне как решить эту проблему, чтобы код отображался в обоих браузерах?Проблемы с отображением браузера PHP и IE

Я использую JQuery и PHP.

Вот код 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)"; 
    } 
} 

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

Пожалуйста, разместите свой код jQuery, используемый для вызова функции. –

ответ

1

В JavaScript, ваш первый вызов getRatingText() неверен (Вызов внутри функции getRating()):

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

Вы на самом деле выполняет это потому, что ваш метод не возвращает ничего:

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

Изменить эту строку:

getRatingText(); 
+0

Это не сработало, может быть, я неправильно понял ваш ответ? – Jawa

+0

Я понял, но возникает еще одна проблема. – Jawa

Смежные вопросы