0

わかりましたので、入力フィールドが入力アクションを停止したときに ajax 呼び出しをトリガーする Java スクリプトがあります。

//setup before functions
var field = document.getElementById("UPC");
var table=document.getElementById("ScannedItems");
var typingTimer; //timer identifier
var doneTypingInterval = 1000; //time in ms, 1 seconds

//on keyup, start the countdown
$('#UPC').keyup(function(){
  clearTimeout(typingTimer);
  typingTimer = setTimeout(doneTyping, doneTypingInterval);
});

//on keydown, clear the countdown 
$('#UPC').keydown(function(){
  clearTimeout(typingTimer);
});


function doneTyping () {
 //user is "finished typing," do something
 var upc=document.getElementById("UPC").value;
 document.getElementById("noScan").className="hidden";
 document.getElementById("checkout").className="";
 document.getElementById("void").className="";

 var dataString = 'upc='+ upc;
 //alert (dataString);return false;  
 $.ajax({  
    type: "POST",  
    url: "assets/PagePHP/pos/scan.php",  
    data: dataString,  
    success: function() {  
        var row=table.insertRow(-1);
        var cell1=row.insertCell(0);
        var cell2=row.insertCell(1);
        var cell3=row.insertCell(2);
        var cell4=row.insertCell(3);
        var cell5=row.insertCell(4);
        var cell6=row.insertCell(5);
        cell1.innerHTML =upc;
        cell2.innerHTML ="Description";
        cell3.innerHTML ="PRICE";
        cell4.innerHTML ="QTY";
        cell5.innerHTML ="TOTAL";
        cell6.innerHTML ="ACTION";
        field.value ='';
    }  
});  
return false;
}

ajax は、フォームに入力された UPC を受け取り、それを使用してその特定のアイテムの説明と価格を取得します。その情報を Java Script 呼び出しに戻してテーブルに行を作成する方法を知る必要があります。PHP からの項目は、以下の行で Java スクリプトに戻す必要があります: (上記のスクリプトから取得)

cell1.innerHTML =upc;
cell2.innerHTML ="Description";
cell3.innerHTML ="PRICE";
cell4.innerHTML ="QTY";

私のphpは短くてシンプルで、次のようになります。

$result = mysqli_query($con,"SELECT * FROM inventory WHERE item_upc='$_POST[upc]'");

while($row = mysqli_fetch_array($result))
{
echo $row['item_upc'];
echo $row['item_description'];
echo $row['item_price'];
}

これはすべて、ページを更新せずに行う必要があります。これを行う方法をグーグルで調べましたが、状況に合った結果を得ることができませんでした。

4

3 に答える 3