我使用jquery,ajax和php从数据库中检索数据。我想实现一种功能,即当用户输入产品代码并按TAB键时,数据应填入textarea。我是ajax n php的新手,我已经在SQL中检查了我的查询它正在运行..请帮帮我
HTML
<input type="text" class="form-control col-md-5 detectTab" name="product_code" />
<textarea class="form-control autogrow" id="container" name="desc" rows="3" cols="5" placeholder="Remarks" required></textarea>
脚本
<script type="text/javascript">
$(function(){
$("#product_code").keydown(function(e){
if(9 == e.keyCode){
var postlink = 'loaddesc.php';
$.post(postlink).done(function(data){
if(data)
$("#container").val(data);
else
$("#container").val('No Data Received');
}
}
})
})
</script>
loaddesc.php
<?php
include('config.php');
if($_POST['$product_code'] )
{
$product_code=$_POST['product_code'];
$sql=mysqli_query($con, 'SELECT concat(A.PRODUCT_CAT_NAME," - ", B.name," - ", C.PRODUCT_SERIAL_NO," - ",c.product_desc) Product_Details
FROM dms_product_cat A, dms_product_type B, dms_products c WHERE A.product_cat_id = 1 AND B.product_cat_id = A.product_cat_id and B.type_id = c.product_type
and c.product_code = "$product_code"');
while($row=mysqli_fetch_array($sql))
{
$data=$row['Product_Details'];
echo $data;
}
}
?>
答案 0 :(得分:0)
您的sql查询不起作用,因为不评估单引号字符串中的变量。 无论如何,建立这样的请求是个坏主意。其中有一个SQL注入漏洞。
答案 1 :(得分:0)
您问题的逻辑解决方案
当用户输入产品代码并按TAB键时,数据应为 填写textarea。
代码示例
<html>
<head>
<title>TEST AJAX</title>
</head>
<body>
<!-- The input Box -->
<input type="text" name="product_code" id="product_code" autofocus/>
<!-- The Text Area -->
<textarea id="container" name="desc" placeholder="Remarks"></textarea>
</body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
// Will fire on any key press in input box
$("#product_code").keydown(function(e){
//alert(e.keyCode); // Remove the comment to check for keypress Code
// KeyCode 9 is for TAB key
if(9 == e.keyCode){
// Sending via ajax to fetch data
var postlink = ''; // Required Backend Script Handler
$.post(postlink).done(function(data){
// Handling the fetched data
if(data)
$("#container").val(data); // Filling data in textarea
else
$("#container").val('No Data Recieved'); // No data recieved
}
}
})
})
</script>
</html>
我相信你的问题现在已经解决了。
谢谢&amp;此致