【问题标题】:I want to populate form input based on another input field我想根据另一个输入字段填充表单输入
【发布时间】:2018-01-17 02:41:14
【问题描述】:

我正在开发这个,我输入产品名称,详细信息将显示在其他输入字段中。我可以使用 jquery 自动完成选择产品名称。

下面是我的代码。请问我的代码有什么问题,因为它工作一次就停止了。

我的 HTML

<label for="inputEmail3" class="col-sm-2 control-label">Product Name</label>
<div class="col-sm-4 ui-widget">
<input type="text" class="form-control" placeholder="Name of Product" name="search_prod_name" id="search_prod_name">
<div id="product_List">
</div>
</div>

JQUERY

<script> 
$(document).ready(function(){

    $('#search_prod_name').change(function() {
        var prodd_name = $(this).val();
        $.ajax({
                url:"select_for_sell.php",
                method: "POST",
                data:{prodd_name: prodd_name},
                dataType: "JSON",

                success:function(data) {
                    $('#pro_cat').val(data.pro_cat);
                    $('#product_name').val(data.product_name);
                    $('#manu_name').val(data.manu_name);
                    $('#supp_name').val(data.supp_name);
                    $('#unit_sell_price').val(data.unit_sell_price);
                    $('#manu_dt').val(data.manu_dt);
                    $('#expiry_dt').val(data.expiry_dt);
                    $('#qty_in_stock').val(data.qty);
                }
        }); 
    }); 
}); 
</script> 

我的 PHP

<?php 

include_once('conn/conn.php');
if(isset($_POST["prodd_name"])) {
    $query_product = "SELECT * FROM sellnsell_products WHERE product_name = '". $_POST["prodd_name"]."' ";
    $result_product = mysqli_query($cnn, $query_product);
    while($rrow = mysqli_fetch_array($result_product)) {
        $data["pro_cat"]            = $rrow["product_cat"];
        $data["product_name"]       = $rrow["product_name"];
        $data["manu_name"]      = $rrow["manu_name"];
        $data["supp_name"]      = $rrow["supp_name"];
        $data["unit_sell_price"]    = $rrow["unit_sell_price"];
        $data["qty_in_stock"]   = $rrow["qty"];
        $data["manu_dt"]            = $rrow["manu_dt"];
        $data["expiry_dt"]      = $rrow["expiry_dt"];

    }
    echo json_encode($data);
}
?>

【问题讨论】:

  • 我在你的 html 中看不到像 pro_cat,product_name,manu_name 这样的输入字段
  • 同时检查开发者控制台中的错误。
  • 我有所有的字段,但我认为它们很长,可以全部粘贴到这里
  • 我尝试了 .keydown 但仍然无法正常工作。关于将 SQL 查询更改为准备好的语句,这不是问题。谢谢你'

标签: php jquery mysql json


【解决方案1】:

试试这个改这个,

$('#search_prod_name').change(function() {

到这里,

$('#search_prod_name').keydown(function() {

还可以更改您的 SQL 查询以使用直接在 mySQL 查询中使用变量的预准备语句,从而打开系统以使用 MySQL 注入方法进行攻击。

同时删除 PHP 中那些不必要的空格,保持简单。

【讨论】:

    猜你喜欢
    • 2018-03-08
    • 2020-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多