2011-02-17 73 views
0

我使用jQuery來調用帶有兩個參數from和to的PHP腳本,這兩個參數用於查詢MySQL,兩個參數之間有一個限制。我建立了一個目標。

的問題是,這個工程正常使用的情況:

$(document.ready(function(){ 

    function display_from_server(){ 
     from = calculate_from_value(); // first run 0, second run 11, third run 22 ... 
     to = calculate_to_value(); // first run 10, second run 21, third run 32 ... 

     //.. sends 0 and 10 to server and display response on screen. 
    } 

    $('#button').click(function(){ 
    display_from_server(); 
    }); 
}); 

但它改變這個它不工作了:作爲一個按鈕,點擊一個回調函數調用時

$(document.ready(function(){ 

    function display_from_server(){ 
     from = calculate_from_value(); // first run 0, second run 11, third run 22 ... 
     to = calculate_to_value(); // first run 10, second run 21, third run 32 ... 

     //.. supposed to send 0 and 10 to server, but sends 0 and 0 ! ? 
    } 

    display_from_server(); 

}); 

所以,它的工作原理,但直接調用它不工作!在FF中,除了來自服務器的數據之外,其餘的頁面加載。在Chrome中只有背景加載! Whata heck是錯的...?

+4

您在`$(document.ready`)處有一個錯字, – TNC 2011-02-17 13:57:32

回答

3

我不確定它有多重要,但我會把該功能放在$(document).ready(之外。

function display_from_server() { 
    from = calculate_from_value(); // first run 0, second run 11, third run 22 ... 
    to = calculate_to_value(); // first run 10, second run 21, third run 32 ... 
} 

$(document).ready(function(){ 
    display_from_server(); 
}); 
3

您需要的第一行改成這樣:

//JQuery adds the "ready" method to the document object 
$(document).ready(function(){ 
    //rest of the code 
}); 

我很驚訝它的工作,因爲在所有調用你的榜樣的document.ready應該拋出一個錯誤。

0

我會放在一邊calculate_to_value斷點()在第二種情況下,確保其從計算的東西實際上是準備好權當$(文件)。就緒第一次運行

0

我的猜測是,calculate_to_value()有錯誤。一些想法:

  1. 檢查JavaScript錯誤控制檯。也許拋出了一個異常
  2. 添加一些日誌報表calculate_to_value()
  3. 如果更換calculate_to_value()from+10會發生什麼?