2012-10-08 38 views
0

这是我使用自动完成的代码,当我使用单个文件例如aci.php时,它可以正常工作。 (正常工作)autoComplete不能正常工作

<?php 
include_once('AFactory.class.php'); 
$db=new AFactory(); 
$db->getDBO(); 
if(isset($_POST['queryString'])) 
{ 
     $sql = "SELECT `name` FROM `liste_kala` WHERE `name` LIKE '%{$_POST['queryString']}%' LIMIT 0 , 30"; 
     $result=$db->setQuery($sql); 
     $query=$db->setQuery($sql); 
     $result=$db->loadAssoc($query); 
     // echo '<pre>';print_r($result);echo '</pre>'; 
     if($result) 
     { 
      foreach ($result as $value) echo '<li onClick="fill(\''.$value['name'].'\');">'.$value['name'].'</li>'; 
     } 
} 
?> 

但我粘贴代码到action.php的文件,我可以检查行动后的方法,但不是以这种方式工作: JQUERY方法:

function lookup(inputString) { 
    if(inputString.length == 0) { 
     // Hide the suggestion box. 
     $('#suggestions').hide(); 
    } else { 
     $.post("aci.php", {queryString: ""+inputString+"" , postaction:'autocomplete' }, function(data){ 
      if(data.length >0) { 
       $('#suggestions').show(); 
       $('#autoSuggestionsList').html(data); 
      } 
     }); 
    } 
} 

action.php的

<?php 
include_once('AFactory.class.php'); 
$db=new AFactory(); 
$db->getDBO(); 
$action=$_POST['queryString']; 
switch ($action) 
{ 
    case 'autocomplete': 
     if(isset($_POST['queryString'])) 
     { 
       $sql = "SELECT `name` FROM `liste_kala` WHERE `name` LIKE '%{$_POST['queryString']}%' LIMIT 0 , 30"; 
       $result=$db->setQuery($sql); 
       $query=$db->setQuery($sql); 
       $result=$db->loadAssoc($query); 
       // echo '<pre>';print_r($result);echo '</pre>'; 
       if($result) 
       { 
        foreach ($result as $value) echo '<li onClick="fill(\''.$value['name'].'\');">'.$value['name'].'</li>'; 
       } 
     } 
      break; 

} 
?> 

回答

0
$action=$_POST['queryString']; 

应该是:

$action=$_POST['postaction'];