You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PhoneGap中将二维码扫描结果显示到输入文本框

解决PhoneGap扫码结果无法填充到输入框的问题

我看你已经成功实现了二维码扫描功能,而且能通过alert看到扫描结果,这说明扫码逻辑完全没问题!没法把结果放到输入框里,只是因为你没在扫描成功的回调函数里添加给输入框赋值的代码。

你只需要修改scan()函数里的成功回调,拿到result.text之后,把它赋值给ID为qrc的输入框就行,具体修改如下:

<script type="text/javascript">
function scan() {
    cordova.plugins.barcodeScanner.scan(
        function (result) {
            var qrc = result.text;
            alert("We got a barcode\n" +
                  "Result: " + result.text + "\n" +
                  "Format: " + result.format + "\n" +
                  "Cancelled: " + result.cancelled + "\n" +
                  "QRC: " + qrc);
            // 新增这一行:把扫描结果赋值到输入框
            document.getElementById('qrc').value = qrc;
        },
        function (error) {
            alert("Scanning failed: " + error);
        }
    );
}
</script>

为什么这样能解决问题?

你之前的代码只在回调里做了弹窗展示结果,但没有操作DOM元素把值传递到输入框里。添加document.getElementById('qrc').value = qrc;这一行后,就会找到页面上ID为qrc的输入框,然后把扫描得到的qrc值设置进去。

另外要注意一个小细节:确保你的JS代码是在页面DOM加载完成后执行的,比如把<script>标签放在页面的底部(</body>标签之前),这样能保证在调用document.getElementById时,输入框已经存在于DOM树中,避免找不到元素的问题。

你的HTML部分不需要修改,保持原来的结构就可以了。

内容的提问来源于stack exchange,提问作者mountain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:06:53