簡體   English   中英

有人可以發現我的錯誤(自動填充文本框)嗎?

[英]Can someone spot my error (autocomplete text box)?

到目前為止,我有HTML:

<div id="box" style="width:400; height:400; margin-left:auto; margin-right:auto; margin-top:100;">
<h2>Enter a word</h2>
<input type="text" id="input" ></input>
</div>
<div id="suggest">
</div>

Javascript:

<script type ="text/javascript">
$(document).ready(function(){
$("#input").keyup(function(){
var input = $("#input").val();
$.ajax({
url: "PathToPHPFileThatConnectsToDatabaseAndRetreivesValues",
data: "input"+input,
success: function(msg){
alert(msg);
$("#suggest").html(msg);
}
});
});
});
</script>

PHP:

<?php

$dbh=mysql_connect ("localhost", "~", "~") or die ('I cannot connect to the database because: ' . mysql_error()); 
mysql_select_db ("~") or ("Database not found");

$input = $_REQUEST['input'];

$input = mysql_real_escape_string(trim($input));

    $sql = "SELECT * FROM ~ WHERE ~ LIKE '%".$input."%'";

    $data = mysql_query($sql);

    $arrcnt = -1;

    $dataArray = array();

    while ($temp = mysql_fetch_assoc($data)) 
        {
            foreach($temp as $key=>$val) {
                $temp[$key] = stripslashes($val);
                $arrcnt++;
        }
        $dataarray[$arrcnt] = $temp;
    }

    $list = "<ul style='width:100;height:auto;'>";

    foreach($dataArray as $val) {
        $list .= "<li>".$val['DesiredColumnContainingDesiredData']."</li>";
    }

    $list .= "</ul>";

    echo $list;



?>

現在,這些代碼應該一起工作,以使用id =“ suggest”自動完成div,然后在選定時使用id =“ input”填充文本字段...我一直收到以下警告: <ul style='width:100;height:auto;'></ul>

像這樣更改ajax代碼,

$.ajax({
url: "PathToPHPFileThatConnectsToDatabaseAndRetreivesValues",
data: {"input":input},
success: function(msg){
alert(msg);
$("#suggest").html(msg);
}
});

問題是因為在php中,變量名不同。 您添加了$ dataarray而不是$ dataArray

另外對於ajax

您可以將數據作為字符串或對象進行傳遞

數據:{“ input”:input}

要么

數據:“ input =” + input

在ajax中添加類型:“ POST”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM