0

これが私のシナリオです。検索フォームに入力した内容に基づいて、すべてが正常に機能し、適切な画像が表示されました。しかし、サイトにその自動提案機能を追加したので、検索ボックスに何を書いて検索を押しても、入力フォームが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> 

最後に、これはデータベースを介して autosuggest を照会するための別の search.php ファイルです。

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が入力フォームからデータを受信して​​いないというポジショニングの問題でしょうか?

4

1 に答える 1

1

入力ボックスに name 属性を追加する必要があります

于 2012-12-25T14:02:52.217 に答える