根据按 id 搜索将数据库的值设置为文本框
Set value from database to textbox based on search by id
请帮我解决这个案子。我在下面有一个代码:
<script>
function getXMLHTTP() {
var xmlhttp = false;
try{
xmlhttp=new XMLHttpRequest();
}
catch(e)
{
try{
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
catch(e){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
catch(e1){
xmlhttp=false;
}
}
}
return xmlhttp;
}
function getCity(url, id1) {
var req = getXMLHTTP(url);
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.getElementById(id1).value=req.responseText;
// document.getElementById(id2).value=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:'n" + req.statusText);
}
}
}
req.open("GET", url, true);
req.send(null);
}
}
</script>
<?php
echo "
<tbody>
<tr>
<td class='td'><input type='text' size='6' name='kode_barang" ."' maxlength='6' onchange='javascript:this.value=this.value.toUpperCase();' onkeyup='getCity('"search.php?kode_barang='"+this.value, '"nama_barang" . "'",'"harga_barang" . "'");' id='kode_barang'></td>
<td class='td'><input type='text' size='22' name='nama_barang" . "' id='nama_barang" . "' readonly tabindex='1'></td>
<td class='td'><input type='text' size='22' name='harga_barang" . "' id='harga_barang" . "' tabindex='1'></td>
</tbody>
";
?>
搜索.php文件 :
include_once('config.php');
if (isset($_GET['kode_barang']))
{
$qry = "SELECT nama_barang, harga_barang FROM t_barang WHERE kode_barang = '" . $_GET['kode_barang'] . "'";
$sql = mysql_query($qry);
$ary = mysql_fetch_array($sql);
echo $ary['nama_barang'];
echo $ary['harga_barang'];
}
这是关于如何根据kode_barang输入查找nama_barang和harga_barang。例如,如果我在文本框中输入kode_barang kode_barang然后在text_box nama_barang中输入,harga_barang将自动设置数据库中的信息。
我已经尝试过此代码,但它在 2 个文本框nama_barang中设置了 1 个信息(nama_barang 和 harga_barang)。应在每个文本框中设置。
所以,我的问题是:如何设置信息nama_barang和harga_barang从数据库到每个文本框?
感谢您的帮助。谢谢。
将你的getCity()函数替换为下面的函数
function getCity(url, id1, id2) {
var req = getXMLHTTP(url);
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
var res = JSON.parse(req.responseText);
document.getElementById(id1).value=res.nama_barang;
document.getElementById(id2).value=res.harga_barang;
} else {
alert("There was a problem while using XMLHTTP:'n" + req.statusText);
}
}
}
req.open("GET", url, true);
req.send(null);
}
}
并替换搜索中的部分代码.php
从
$ary = mysql_fetch_array($sql);
echo $ary['nama_barang'];
echo $ary['harga_barang'];
自
$ary = mysql_fetch_array($sql);
echo json_encode($ary);
问题是,您在 getCity() 函数。
发送默认值的更新
替换以下部件
if (isset($_GET['kode_barang']))
{
$qry = "SELECT nama_barang, harga_barang FROM t_barang WHERE kode_barang = '" . $_GET['kode_barang'] . "'";
$sql = mysql_query($qry);
$ary = mysql_fetch_array($sql);
echo $ary['nama_barang'];
echo $ary['harga_barang'];
}
跟
if (isset($_GET['kode_barang']))
{
$qry = "SELECT nama_barang, harga_barang FROM t_barang WHERE kode_barang = '" . $_GET['kode_barang'] . "'";
$sql = mysql_query($qry);
if (mysql_num_rows($sql) > 0)
{
$ary = mysql_fetch_array($sql);
echo json_encode($ary);
}
else
{
echo json_encode(array("nama_barang" => "", "harga_barang" => ""));
}
}
* 无论如何,这不是最佳实践,因为它为每个 KeyUp 事件发出数据库请求。 但可以帮助您解决。
将 php 文件从:
echo $ary['nama_barang'];
echo $ary['harga_barang'];
自
echo json_encode($ary);
并将您的 JS 函数从
document.getElementById(id1).value=req.responseText;
document.getElementById(id2).value=req.responseText;
自
var response = JSON.parse(responseText);
document.getElementById(id1).value=response.nama_barang;
document.getElementById(id2).value=response.harga_barang;
相关文章:
- 在node.js中使用JavaScript从JSON对象获取和设置文本内容
- 在不使用javascript的情况下,可以在表单字段中设置文本占位符(以提示最终用户插入特定格式)
- 在PHP中,如何通过单击页面上的文本来设置文本框值
- 选项设置文本值重复..有没有我可以检查的财产以避免重复
- HTML + JS:设置文本区域内容样式的最佳方式
- 进度条.js动态设置文本
- 如何为“this”设置文本修饰
- Rails 4 - 设置文本区域的字符数限制
- 无法在文本区域设置文本
- setInterval可设置文本区域上的文本
- 尝试根据屏幕大小预先设置文本
- 如何根据需要设置文本框/选择-使用JavaScript
- 如何设置文本输入's宽度为0px,包括Bootstrap
- 如何根据下拉框选择设置文本框值
- 用新行设置文本区域的值
- 从客户端(jQuery或JavaScript)设置ASPXGredView设置文本标题
- 如何在RaphaelJS中设置文本字体
- 角度 2,在表单中设置文本输入的值
- CSS 在 javascript 中设置文本框的样式
- 如何自动设置文本框输入的格式