如何在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
相关产品推荐
相关产品推荐

