基本上我想在输入字段中输入一个值。基于这个值,我想查询sql并将其值显示到另一个字段中(不刷新页面)。
HTML
<input name="idno[]" type="text" /><select name="curr[]"><option value=""></option></select><input name="amount[]" type="text" />
<input name="idno[]" type="text" /><select name="curr[]"><option value=""></option></select><input name="amount[]" type="text" />
因此,当我在输入字段(name idno[])中输入值时,输入字段(namecurr[]和amount[])将显示查询结果,例如:从id="idno"的表中选择*
伙计们,请帮帮我。。
编辑
这是我为静态输入字段运行的代码。。
<form name="myForm">
<table width="50%" border="1">
<tr>
<td><input type="text"
onkeyup="ajaxFunction(this.value);" name="username" /></td>
<td>
<div id="displayDiv">
<table width="100%" border="0">
<tr>
<td><input type="text" name="curr"></td><td><input type="text" name="amount"></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<script type="text/javascript">
function ajaxFunction(str)
{
var httpxml;
try
{
// Firefox, Opera 8.0+, Safari
httpxml=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
httpxml=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
httpxml=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
function stateChanged()
{
if(httpxml.readyState==4)
{
document.getElementById("displayDiv").innerHTML=httpxml.responseText;
}
}
var url="cek.php";
url=url+"?txt="+str;
url=url+"&sid="+Math.random();
httpxml.onreadystatechange=stateChanged;
httpxml.open("GET",url,true);
httpxml.send(null);
}
</script>
你能给我解决方案吗,这样它就可以用于动态输入字段(我的意思是用于添加新的输入字段等)
感谢
您可以通过一个带有提交按钮的好的旧html和一个将值提交给php脚本的表单来实现这一点,php脚本将返回带有更新值的表单。但是,如果你想让它更"酷"一点,你需要使用javaScript来监听输入上的更改事件,以向php脚本发出ajax请求,并接收查询结果,以便将其显示回html网站。要搜索的关键字是事件侦听器和ajax。在www.
您应该记住的要点:
1) 不要使用密钥向上,而是使用更改或输入它是更好的
2) 对于附加或添加结果的实时搜索,您将需要以下
a) html
b) jquery
c) sql
以下面的搜索人员为例
查询
var name;
$("body").on("input","#search_box_input",function(){
name = $("#search_box_input").val();
if(name !="")
{
$.post("../PHP/search_people.php",{name:name},function(returned_name)
{
$("#all_names_div").html(returned_name).fadeIn("slow");
});
}
});
您的PHP和SQL查询应该是这样的:
$name = $_POST['name'];
$result = mysql_query("select * from people where name like '%$name%'");
while ($returned_name = mysql_fetch_array($result))
{
echo $returned_name['name'];
}
希望有帮助:)