わかりましたので、入力フィールドが入力アクションを停止したときに 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'];
}
これはすべて、ページを更新せずに行う必要があります。これを行う方法をグーグルで調べましたが、状況に合った結果を得ることができませんでした。