gpt4 book ai didi

javascript - 尝试通过使用 php 函数生成的随机值使 QR 码自动生成

转载 作者:太空宇宙 更新时间:2023-11-04 16:01:41 29 4
gpt4 key购买 nike

您好,当您输入文本时,我的代码工作正常,它会转换为二维码,但我想让它自动运行。我有一个生成随机数的 php 函数,所以不是键入文本,二维码应该由该函数的值生成。

enter image description here

这是我的html页面代码:

    <!DOCTYPE html>
<body>
<input id="text" type="text" value="http" style="width:80%" /><br />
<div id="qrcode"></div>
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script src='http://davidshimjs.github.com/qrcodejs/qrcode.min.js'></script>

<script src="js/index.js"></script>

</body>
</html>

这是我的 javascript 函数:

var qrcode = new QRCode("qrcode");

function makeCode () {
var elText = <?php echo random_str(6); ?> ;

if (!elText.value) {
alert("Input a text");
elText.focus();
return;
}

qrcode.makeCode(elText.value);

}

makeCode();

$("#text").
on("blur", function () {
makeCode();
}).
on("keydown", function (e) {
if (e.keyCode == 13) {
makeCode();
}
});

这是我要实现的php函数,这样会生成一个随机数,并在此基础上形成二维码

<?php

function random_str($length, $keyspace = '0123456789')
{
$str = '';
$max = mb_strlen($keyspace, '8bit') - 1;
for ($i = 0; $i < $length; ++$i) {
$str .= $keyspace[random_int(0, $max)];
}
return $str;
}

?>

最佳答案

当您使用基于输入的版本时,您编写了 makeCode() 函数以从输入框中提取 QRCode 的值。现在您正在使用文字值,您需要修改 makeCode() 以了解它如何与源编号一起工作 - 现在是 javascript 文字值而不是控件。

function makeCode () {      
var elText = "<?php echo random_str(6); ?>" ; // note quotes around random no.

if (elText.length === 0) { // is the random string zero length
alert("Random number is blank - weird !");
return;
}

qrcode.makeCode(elText);

}

来自 php 的随机数周围的引号将保护您免受它返回空白的风险。我不知道这种可能性有多大,但如果确实发生了,那么 JS 就会失败。由于它没有数字操作,我们可以将它视为一个字符串。在那种情况下,我们可以测试它的长度并从那里决定我们是否需要制作 QRCode。

关于javascript - 尝试通过使用 php 函数生成的随机值使 QR 码自动生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41329974/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com