在开始编写代码之前,我尝试解释我想要实现的目标:
我有一个输入,用户将使用带有键盘仿真的条形码阅读器编写代码(条形码),因此他将编写如下内容:123465789。
- 我想拿所有这些数字
- 截断它们,因为我只需要前 4 个字符:1234。
- 将此值传递给将检查哪个项目对应于该数字的数据库
- 添加到商品的“库存”编号。
- 清理表格
- 尽可能快地重复。
好的,现在我试图解释让我们从有趣的部分开始,我的代码:
文件 1:change.php
<!DOCTYPE html>
<html>
<head>
<style>
fieldset { margin-bottom: 1em; }
input { display: block; margin-bottom: .25em; }
#print-output {
width: 100%;
}
.print-output-line {
white-space: pre;
padding: 5px;
font-family: monaco, monospace;
font-size: .7em;
}
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<form>
<fieldset>
<label for="troncami">Type Something:</label>
<input id="troncami" type="text" />
</fieldset>
</form>
<div id="risultatotroncato"></div>
<script>
$('#troncami').keyup(function(event) {
var str = $(this).serialize();
$.ajax({
type: "GET", // the kind of data we are sending
url: "troncare.php", // this is the file that processes the form data
data: str, // this is our serialized data from the form
success: function(msg){ // anything in this function runs when the data has been successfully processed
// this sets up our notification area for error / success messages
$("#risultatotroncato").ajaxComplete(function(event, request, settings)
{
result = msg; // msg is defined in sendmail.php
$(this).html(result); // display the messages in the #note DIV
});
$('input[name=troncami]').val(msg);
}
});
}).keydown(function(event) {
if (event.which == 13) {
event.preventDefault();
}
});
$('#other').click(function() {
$('#target').keyup();
});</script>
</body>
</html>
文件 2:troncare.php
<?php
$risultatotroncato = 0;
$risultatotroncato = substr ($_GET['troncami'],0,4);
echo $risultatotroncato;
?>
显然它不起作用,我唯一能看到的是一个 NOTICE 错误:
注意:未定义索引:第 6 行 D:\Locali\xampp\htdocs\combobox\troncare.php 中的 troncami
所以我的问题是如何将输入中写入的值传递给 $_GET / $_POST 以便我能够使用 'troncare.php' 来“管理”它?我怎样才能尽可能快地做到这一点,以便用户能够在不停止的情况下使用条形码扫描仪“拍摄”,并将值几乎“实时”保存在数据库中?非常感谢!
(你可能已经知道我还在学习 PHP 和 AJAX 和 jQuery,所以在几年/几个月内,我将能够自己完成它,但是......我需要它尽快所以,你能帮我吗?)