2011-04-20 76 views
0

IM樣的混淆這段代碼字符串參數不能傳遞

if($filter_col!=null && $filter_val!=null) 
     $filter = $filter_col."|".$filter_val;  
     $prevpage = $current_page-1; 
     printf('<ul class="pagination" style="float:right;">'); 
    if ($current_page > 1) {  
     echo "<li><a href='#' onclick='loadPage(1,$filter)'>First</a> \n </li>"; 
     echo "<li><a href='#' onclick='loadPage($prevpage,$filter)'>Prev</a> \n </li>"; 
    } 


function loadPage(page,filter){var dataString; 

dataString = 'page='+ page+'&filter='+filter; $.ajax({ 
url: "page_data.php", //file tempat pemrosesan permintaan (request) 
type: "GET", 
data: dataString, 
    success:function(data) 
    { 
     $('#divPageData').html(data); 
    }});} 

當我填寫任何字符串$過濾器以及例如空字符串「奧凱」,那麼它有一個錯誤說OKE是不是定義,但是當我填充$篩選適合任何數字它效果不錯 任何人都可以幫助我嗎?在此先感謝...

+1

我對缺乏格式化感到困惑......而且它看起來更像PHP。 – alex 2011-04-20 04:14:03

+0

是的,它的PHP和JavaScript,它加載到另一頁槽ajax – limamud 2011-04-20 04:17:19

回答

2

當你填寫一個類似$filter的PHP變量,然後將它逐字地插入到Javascript中,你必須確保它變成有效的JavaScript。 e.g:

$filter = 'oke'; 
$prevpage = 1; 

... onclick='loadPage($prevpage,$filter)' ... 

將成爲

... onclick='loadPage(1,oke)' ... 

這不是有效的JavaScript,因爲沒有在腳本中名爲 '奧凱' 變量。你必須做下列之一:

$filter = json_encode('oke'); 
$prevpage = json_encode(1); 

與引號把你的PHP變量的值到本地JavaScript值,或在最低限度的環繞中的變量在代碼中的JavaScript部分:

... onclick='loadPage(\'$prevpage\', \'$filter\')' ... 
+0

哇......感謝馬克,它的工作.. – limamud 2011-04-20 04:32:12