doumengyin0491 2017-05-08 19:29
浏览 566
已采纳

如何用php追加HTML表格?

I'm trying to create a simple Point of sale using PHP, and I want to add data in my table everytime I search and submit the barcode. The problem with my code, it only runs once, it appends the first data I add but for the next nothing happens, here is my HTML

<form class="" action="" id="pos_data" method="post">
    <input type="text" name="txtSearch"  placeholder="barcode" autofocus>
</form>

<table id="pos-items">
    <thead><tr>
        <td>Product Name</td>
        <td>Quantity</td>
        <td>Unit</td>
        <td>Price</td>
        </tr>
    </thead>
    <tbody>
    </tbody>
</table>

and this my script

$('#pos_data').submit(function() {
$.ajax({
    url: 'processpos.php',
    type: 'POST',
    dataType: 'html',
    data: $(this).serialize(),
    success: function(newContent) {
    $('#pos-items tbody').append(newContent);
          }
    });
return false;
barcodeenter();
});

function barcodeenter(){

document.querySelector('#txtSearch').addEventListener('keypress', function (e){
    var key = e.which || e.keyCode;
    if (key === 13) { // 13 is enter
      console.log(document.getElementById("txtSearch").value);
      document.getElementById("txtSearch").value = "";

    }
    });
}

and my PHP file

include 'conn_db.php';
$product_id = $_POST['txtSearch'];


$sql = "SELECT * FROM producttbl WHERE product_id ='".$product_id."'";
$records = mysqli_query($conn, $sql);



while($row = mysqli_fetch_assoc($records)){

    echo "<tr><td>".$row['product_name']."</td><td>1</td><td>".$row['product_unit']."</td><td>".$row['product_price']."</td></tr>";
}

all in the code works for the first product but when i try to add another nothing happens. Is there anything I'm missing out here?

展开全部

  • 写回答

4条回答 默认 最新

  • dongtun3328 2017-05-08 21:08
    关注

    Remove the function barcodeenter()

    and replace with document.getElementById("pos_data").reset();

     $('#pos_data').submit(function() {
                    $.ajax({
                        url: 'processpos.php',
                        type: 'POST',
                        dataType: 'html',
                        data: $(this).serialize(),
                        success: function(newContent) {
                            $('#pos-items tbody').append(newContent);
                        }
                    });
                    //barcodeenter();
                    document.getElementById("pos_data").reset();
                    return false;
                });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 提问应符合社区要求 10月8日

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部