我从我的网页触发条形码扫描器应用程序,一旦应用程序打开,我就可以扫描条形码并通过URL检索它。
现在,我在URL所在的页面上有多个输入字段。我从URL中获取扫描的条形码并将其放在输入字段中。
问题是,当URL返回扫描的条形码时,它会刷新整个页面,从而从输入字段中删除所有先前输入的值。
那么,是否有一种方法可以从URL中检索条形码而不刷新页面(以便输入字段保留其值)或者如何保留输入字段中输入的值。
而且我不想去服务器方面。请提供仅适用于前端的解决方案。
以下是我创建的小提琴。看看是否有任何帮助。
<input type="text" id="InputToOutput1" class="ScannedOutput"><br><br>
<input type="text" id="InputToOutput2" class="ScannedOutput"><br><br>
<input type="text" id="InputToOutput3" class="ScannedOutput"><br><br>
<a class="OpenScanner" href=""><button>Open Scanner</button></a>
答案 0 :(得分:0)
这样的事情应该有效: https://jsfiddle.net/1o6xL6vg/5/
如果您希望保留其他值(已填充的条形码),则需要将它们添加到返回网址。
$.urlParam = function(name){
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
return results[1] || 0;
}
$('.OpenScanner').click(function(){
var url = window.location.href+"?code=%7BCODE%7D";
$(this).attr({
href:'http://zxing.appspot.com/scan?ret='+url+'&SCAN_FORMATS=UPC_A,EAN_13',
target:"nw"
});
});
$(function() {
alert($.urlParam('code'));
$('#InputToOutput1').val($.urlParam('code'));
});
我不确定为什么它不能读取GET参数,但这也可能是一个jsfiddle问题。最好在您的服务器上试用。