Javascript 未捕获类型错误:无法设置属性';innerHTML';phonegap中的null
我正在尝试使用phonegap插件在我的条形码扫描应用程序中传递由条形码扫描代码组成的数组。我收到一个错误“UncaughtTypeError:无法将属性'innerHTML'设置为null”。在下面的代码中,我使用了Javascript 未捕获类型错误:无法设置属性';innerHTML';phonegap中的null,javascript,android,jquery,arrays,cordova,Javascript,Android,Jquery,Arrays,Cordova,我正在尝试使用phonegap插件在我的条形码扫描应用程序中传递由条形码扫描代码组成的数组。我收到一个错误“UncaughtTypeError:无法将属性'innerHTML'设置为null”。在下面的代码中,我使用了var k=0并已声明一个数组var code=new数组(100)在之前的javascript文件中 这是我的html文件 <!doctype html> <html> <head> <script type="text/javascri
var k=0
并已声明一个数组var code=new数组(100)代码>在之前的javascript文件中
这是我的html文件
<!doctype html>
<html>
<head>
<script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"></script>
<script type="text/javascript" src="barcodescanner.js"></script>
<script type="text/javascript" src="main.js"></script>
</head>
<body>
<p />
<p />
<div ng-controller="controller">
<table ng-repeat="result in results">
<tr>
<td>
S.No
</td>
<td >
Barcode
</td>
</tr>
<tr>
<td >
1
</td>
<td
id="d">
</td>
</tr>
<tr>
<td >
2
</td>
<td
id="code[0]">
</td>
</tr>
<tr>
<td >
3
</td>
<td
id="code[1]">
</td>
</tr>
<tr><td><input class="butt" type="button" value="New Scan" onclick="scanCode();" /></td></tr>
</body>
<script type="text/javascript">
var barcodeVal = localStorage.getItem("myvalue");
document.getElementById("d").innerHTML = barcodeVal;
</script>
<script type="text/javascript">
var scanCode = function () {
window.plugins.barcodeScanner.scan(
function (result) {
alert("Scanned Code: " + result.text + ". Format: " + result.format + ". Cancelled: " + result.cancelled);
localStorage.setItem("myvalue1", result.text);
window.location.href = 'page5.html';
}, function (error) {
alert("Scan failed: " + error);
});
}
</script>
<script type="text/javascript">
var barcodeVal = localStorage.getItem("myvalue1");
document.getElementById("code[k]").innerHTML = barcodeVal;
k=k+1;
</script>
</html>
美国号
条形码
1.
2.
3.
var barcodeVal=localStorage.getItem(“myvalue”);
document.getElementById(“d”).innerHTML=barcodeVal;
var scanCode=函数(){
window.plugins.barcodeScanner.scan(
功能(结果){
警报(“扫描代码:“+result.text+”。格式:“+result.Format+”。取消:“+result.Cancelled”);
setItem(“myvalue1”,result.text);
window.location.href='page5.html';
},函数(错误){
警报(“扫描失败:+错误”);
});
}
var barcodeVal=localStorage.getItem(“myvalue1”);
document.getElementById(“代码[k]”);
k=k+1;
在下面的代码中,我尝试一次又一次地扫描条形码,并将值存储在数组中code[]
。但是我得到了错误。请帮帮我。我应该如何解决以下问题。我正在使用phonegap-1.4.1和android条形码扫描插件。提前感谢。请更改:
<script type="text/javascript">
//space in bas codeVal--is wrong
var bar codeVal = localStorage.getItem("myvalue1");
document.getElementById("code[k]").innerHTML = barcodeVal;
k=k+1;
</script>
改变这个
document.getElementById("code[k]").innerHTML = barcodeVal;
到
因为code
是一个数组,您试图使用它的索引获取元素。document.getElementById(“code[k]”)
k不是stringdocument.getElementById(“code[k]”)。innerHTML=barcodeVal;是错误的,那么我应该如何定义它,以便在该数组中存储详细信息。plz help mek在您的代码中是什么?我在以前的javascript中将k定义为一个变量,其初始值定义为0。每次扫描后,我都将其值增加1。我更改了以下内容,但得到的错误是数组未定义。我在以前的javascipt文件中将数组声明为var code=my array(100);请帮助,为什么不在同一个文件中定义它?如果我在同一个文件中定义它,就像我一次又一次调用html文件一样,它会重写整个数组。我不希望发生这种情况。您是否将此文件包括在上一个文件中?请检查此项以访问其他js文件中的数组定义。我想您希望打印表中的每个扫描值。我说得对吗?是的,我要去拿barcodeval。我用数组代码和var k在不同的html中定义,尝试了以下代码。var barcodeVal=localStorage.getItem(“myvalue1”);代码[k]=“代码[k]”;document.getElementById(代码[k]).innerHTML=barcodeVal;k=k+1。。但它不起作用,而且我的值也不打印。localStorage只支持字符串。使用JSON.stringify()和JSON.parse()。有关解决方案检查的更多信息:
document.getElementById(code[index]).innerHTML = barcodeVal ;
document.getElementById("code[k]").innerHTML = barcodeVal;
document.getElementById(code[k]).innerHTML = barcodeVal;