2011-04-21 66 views
0

後基本上我想進行這樣的檢查:調用JQuery的PHP腳本加載

var done = "<?= $test_details['done_test'] ?>"; 
    if(typeof done == 'undefined'){ 
    $('WORKING').appendTo('#bodyArea'); // just for testing (code here) 
    } 

顯然支票使用來自SQL查詢的值。所以,我想要做的和似乎無法正常工作是:

在加載頁面:運行PHP查詢然後運行JQuery,它檢查查詢結果值不是NULL。

這是我曾嘗試:

$(window).load(function() { 
// code here 
}); 

和:

$(document).ready(function() { 
    // code here 
}); 

沒有運氣兩者。

非常感謝您的幫助。

+1

JavaScript的PHP的後總是執行,因爲PHP是在服務器上運行甚至在頁面被髮送到瀏覽器之前執行。然後(在瀏覽器中)執行javascript。所以你的兩個版本都可以工作。 「var done = ...」的源代碼在瀏覽器中看起來如何?也做永遠不會被定義,但最多是一個空字符串(如果php $ test_details是空的) – Andy 2011-04-21 11:48:54

回答

1
var done = "<?= $test_details['done_test'] ?>"; 
if(typeof done == 'undefined'){ 
    $('WORKING').appendTo('#bodyArea'); // just for testing (code here) 
} 

typeof done永遠不會被定義,因爲你總是在定義它。

如果你想運行基於你的PHP一些jQuery的,你可以試試這個

<?php if (empty($test_details['done_test'])) : ?> 
    <script type='text/javascript'> 
     //Code runs ONLY if $test_details['done_test'] is empty 
     $(document).ready(function(){ 
     $('WORKING').appendTo('#bodyArea'); // just for testing (code here) 
     }); 
    </script> 
<?php endif; ?> 

這樣,在支票使用PHP PHP變量來完成。當頁面被處理時,如果變量是空的,PHP將輸出使其運行的JS。

調試

如果你仍然有問題,把下面的代碼,看看會發生什麼

<?php if (empty($test_details['done_test'])) : ?> 
    <script type='text/javascript'> 
     alert("$test_details['done_test'] is empty"); 
    </script> 
<?php else : ?> 
    <script type='text/javascript'> 
     alert("$test_details['done_test'] is not empty"); 
    </script> 
<?php endif; ?> 

如果你沒有得到任何輸出,那麼你做錯了什麼。我們必須看到您的HTML。

如果你得到的是$test_details['done_test'] is not empty消息,那麼這意味着你早期的代碼是正常工作,因爲它不執行如果變量不爲空

+0

你可以把它放在頭上。確保你將代碼包裝在'$(document).ready()'中。不確定高價,但代碼沒問題。 _請確保你沒有把它放在另一個'