返回前如何修改此 qr 函数输出
How can I modify this qr function output before returning
我尝试使用 this code 作为基础并想修改输出,扫描二维码后将其放入文本框。
假设我有一个包含“12345”的二维码,我想扫描它并在文本框中输出整个内容的“123”。但是我无法管理在 js 部分中放置变量的位置,获取 putput,修改它,然后将其返回到输入字段。
我是 js 菜鸟,所以这可能是一个非常愚蠢的问题。
比如js部分的最后一行:
var test = reader.readAsDataURL(node.files[0]);
var output = test.substr(0,3);
return output;
您修改了错误的变量!
function openQRCamera(node) {
var reader = new FileReader();
reader.onload = function() {
node.value = "";
qrcode.callback = function(res) {
if(res instanceof Error) {
alert("No QR code found. Please make sure the QR code is within the camera's frame and try again.");
} else {
//THIS LINE ARE UPDATING THE INPUT
//YOU CAN CHANGE THE "res" var
res = "RESULT: "+res
node.parentNode.previousElementSibling.value = res;
}
};
qrcode.decode(reader.result);
};
reader.readAsDataURL(node.files[0]);
}
对我来说似乎是一个解决方案,但我想不通运行。
我把你的函数加到js部分了:
function openQRCamera(node) {
var reader = new FileReader();
reader.onload = function() {
node.value = "";
qrcode.callback = function(res) {
if(res instanceof Error) {
alert("No QR code found. Please make sure the QR code is within the camera's frame and try again.");
} else {
node.parentNode.previousElementSibling.value = res;
}
};
qrcode.decode(reader.result);
};
reader.readAsDataURL(node.files[0]);
alert (getTruncatedQRCode(reader, node, "3"));
}
function getTruncatedQRCode(reader, node, index) {
if (!(reader && node && Array.isArray(node.files))) return;
const code = reader.readAsDataURL(node.files[0]);
if (code) return code.substr(0, index);
}
但警报只显示 undefined
:(
我尝试使用 this code 作为基础并想修改输出,扫描二维码后将其放入文本框。
假设我有一个包含“12345”的二维码,我想扫描它并在文本框中输出整个内容的“123”。但是我无法管理在 js 部分中放置变量的位置,获取 putput,修改它,然后将其返回到输入字段。
我是 js 菜鸟,所以这可能是一个非常愚蠢的问题。
比如js部分的最后一行:
var test = reader.readAsDataURL(node.files[0]);
var output = test.substr(0,3);
return output;
您修改了错误的变量!
function openQRCamera(node) {
var reader = new FileReader();
reader.onload = function() {
node.value = "";
qrcode.callback = function(res) {
if(res instanceof Error) {
alert("No QR code found. Please make sure the QR code is within the camera's frame and try again.");
} else {
//THIS LINE ARE UPDATING THE INPUT
//YOU CAN CHANGE THE "res" var
res = "RESULT: "+res
node.parentNode.previousElementSibling.value = res;
}
};
qrcode.decode(reader.result);
};
reader.readAsDataURL(node.files[0]);
}
对我来说似乎是一个解决方案,但我想不通运行。
我把你的函数加到js部分了:
function openQRCamera(node) {
var reader = new FileReader();
reader.onload = function() {
node.value = "";
qrcode.callback = function(res) {
if(res instanceof Error) {
alert("No QR code found. Please make sure the QR code is within the camera's frame and try again.");
} else {
node.parentNode.previousElementSibling.value = res;
}
};
qrcode.decode(reader.result);
};
reader.readAsDataURL(node.files[0]);
alert (getTruncatedQRCode(reader, node, "3"));
}
function getTruncatedQRCode(reader, node, index) {
if (!(reader && node && Array.isArray(node.files))) return;
const code = reader.readAsDataURL(node.files[0]);
if (code) return code.substr(0, index);
}
但警报只显示 undefined
:(