2011-04-20 41 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