这是我的场景,一切正常,根据我在搜索表单中输入的内容,显示了相应的图像。但由于我在我的网站上添加了自动建议功能,看起来就像我在搜索框中写的任何内容并按下搜索,我认为我的输入表单没有将数据发送到 php。因为即使我在表格中输入了一些东西,这个条件仍然是错误的。( $name 包含用户输入的值):
if(!empty($name))
这是我的html表单:
<form class="searchform" action="webpage.php" method="POST">
<input class="searchfield autosuggest" type="text" placeholder="Search for a name " onFocus="if (this.value == 'Search...') {this.value = '';}" onBlur="if (this.value == '') {this.value = 'Search...';}" />
<input class="searchbutton" type="submit" value="Go" />
</form>
我为自动建议添加的最新脚本是这样的:
//Autosuggest starts here
$(document).ready(function(){
$('.autosuggest').keyup(function(){
var search_term= $(this).attr('value');
$.post('search.php',{search_term:search_term},function(data){
$('.results').html(data);
$('.results li').click(function(){
var result_value = $(this).text();
$('.autosuggest').attr('value',result_value);
$('.results').html('');
});
});
});
});
</script>
最后,这是另一个 search.php 文件,用于通过数据库查询 autosuggest :
if(isset($_POST['search_term'])== true && empty($_POST['search_term'])== false)
{
$search_term = mysql_real_escape_string($_POST['search_term']);
$query = mysql_query("select * from user_info where Name LIKE '$search_term%'");
while(($rows = mysql_fetch_assoc($query))!== false)
{
echo '<li>'.$rows['Name'].'</li>';
}
}
现在自动建议正在工作,但不是主站点。这可能是我的图像或 php 没有从我的输入表单接收数据的定位问题吗?