我继承了一个网站,允许用户输入数量,然后扫描条形码,然后将项目编号键入字段并选中下一个字段。这些数量/项目编号行中有十个可以填写。点击提交后,数据将通过电子邮件发送到一个地址。
我有一个包含两列的CSV文件,一列用于项目编号,另一列用于描述。我可以进行设置,以便页面在填充项目编号字段时会注意到,并显示描述的文本吗?
我可以使用将CSV保存为单独文件的解决方案,或者那些需要我将CSV数据复制到HTML文件中的解决方案(如果有必要)。或任何其他开箱即用的解决方案。
此外,HTML在PHP内部,我不确定重要的是多少。像这样:
<?php
if(isset($_POST["submit"])) {
...
} else { ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<body>
...
</body>
</html>
<?php } ?>
非常感谢您提供的任何帮助!
答案 0 :(得分:0)
我认为您必须使用该行的模板并使用Javascript动态创建必要的行。
您可以将事件添加到第一个字段。更改后,您可以向服务器发送请求(使用Ajax),并使用返回的数据填充第二个字段。
答案 1 :(得分:0)
除了明显的Put the CSV in a DB and fetch it from there
建议外,您还可以阅读csv文件并将其存储在javascript
对象中。像:
var myObject = {
item_number_1: description_1,
item_number_2: description_2,
....
....
....
item_number_n: description_n
}
然后,您可以通过事件处理程序检查用户输入的项目编号是否在此对象中,如果是,则显示说明。希望有所帮助。
从csv
创建对象的方法<script type="text/javascript">
var myObject = {};
<?php
$fp=fopen('PATH_TO_YOUR_CSV_FILE','r');
$str = '';
while(($data=fgetcsv($fp,'',','))!==false) {
$item = htmlentities(trim($data[0]),ENT_COMPAT,'UTF-8',false);
$desc = htmlentities(trim($data[1]),ENT_COMPAT,'UTF-8',false);
$str .= 'myObject["'.$item.'"]="'.$desc.'",';
}
fclose($fp);
echo trim($str,',');
?>
</script>