很多地方需要了解如何做到这一点,但我没有成功。从我输入的数据中填充多个输入字段
我有一个名为'callsign'的输入字段,当你键入它出去一个MySQL表,并根据你已经输入的内容返回建议。我想知道应该在输入字段中显示什么值,以便我可以选择其中的一个或继续输入。当我选择我想要的一个时,我也希望填写Fname字段,它也从MySQL返回,请参阅下面的XML。
我真的想学习如何做到这一点,但使用我只能理解的术语的长时间解释将不会像示例一样。帮帮我!
输入如下:
Call Sign: <input type='text' value='' placeholder='Search' id='cs1' style='text-transform:uppercase' autofocus onkeyup='showHint(this.value)'> Name: <Input type='text' name='Fname'style='text-transform:capitalize'>
MySQL的是这样的:
<?php
require_once "dbConnectDtls.php";
$q = $_REQUEST["q"];
$stmt = $db_found->prepare("SELECT DISTINCT callsign, Fname
FROM NetLog
WHERE recordID IN (SELECT max(recordID)
FROM NetLog
WHERE callsign LIKE ? GROUP BY callsign)");
$stmt->execute(array("$q%"));
$result = $stmt->fetchAll();
print_r($result);
?>
运行上面有q = 'w'
返回测试的MySQL的结果:
Array ([0] => Array ([callsign] => W0DLK [0] => W0DLK [Fname] => Deb [1]
=> Deb) [1] => Array ([callsign] => W0GPS [0] => W0GPS [Fname] =>
John [1] => John) [2] => Array ([callsign] => WA0TJT [0] => WA0TJT
[Fname] => Keith [1] => Keith) [3] => Array ([callsign] => W0KCN [0]
=> W0KCN [Fname] => Net Control [1] => Net Control))
而且我的功能如下:
function showHint(str) {
if (str.length == 0) {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "gethint.php?q=" + str, true);
xmlhttp.send();
}
}
对不起,您的请求与标准自动提示有什么不同 – Strawberry