我不斷收到以下錯誤,當我嘗試通過單擊在已經進入的價值觀下一步按鈕插入值。下一頁/上一頁按鈕拋出錯誤
無法獲取財產「的價值0 ':object是null或undefined。
我相信錯誤發生在數組中的最後一個值。我在代碼中註釋了下面一行代碼。我希望它獲得數組中的下一個值,但還沒有創建一個(如果下一個值不是數組中的最後一個值,它會得到下一個值就好了)。
我認爲這是拋出一個對象null
的原因。但是,我似乎無法檢查null
/undefined
並使用諸如result[count+1][0] == undefined
之類的語句進行設置,因爲它不起作用!無論我做什麼,它總會拋出一個錯誤。
一些幫助將不勝感激。
測試用例:
- 插入在文本框1和文本框2
- 單擊下一頁的值
- 點擊上一頁(爲了編輯上方插入的值)
- 變化的值在其他文本框中
- 單擊下一步 - 發生錯誤
代碼:
<html>
<head>
<script type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
var result = new Array();
var count = 0;
var input1 = new Array();
var input2 = new Array();
function move(direction) {
if(direction == 'next')
{
var rate1 = [document.getElementById("txt1").value];
var rate2 = [document.getElementById("txt2").value];
if (result.length == count){
if (rate1 == '' || rate2 == '') {
alert('you need to put in a value');
}
else {
result.push([[rate1], [rate2]]);
document.getElementById("txt1").value = '';
document.getElementById("txt2").value = '';
count++;
}
}
else {
try{
(result[count][0]) = document.getElementById("txt1").value;
(result[count][1]) = document.getElementById("txt2").value;
document.getElementById("txt1").value = result[count++][0]; //error happening here. trying to show next value but there isn't one created yet.
document.getElementById("txt2").value = result[count++][1];
document.getElementById("txt1").value = '';
document.getElementById("txt2").value = '';
}
catch(err) {
alert(err.description);
}
count++;
}
}
if (direction == 'prev')
{
if(count <= 0)
{
alert("no more elements");
}
else
{
var prev_val1 = (result[count - 1][0]);
document.getElementById("txt1").value = prev_val1;
var prev_val2 = (result[count - 1][1]);
document.getElementById("txt2").value = prev_val2;
count--;
}
}
document.getElementById("txtresult").value = result;
}
</script>
<li>text 1</li>
<input type="text" id="txt1"/>
<br>
<li>text 2</li>
<input type="text" id="txt2"/>
<br>
<input type="button" id="btn" value="next" onclick="move('next')" />
<input type="button" id="btnprevious" value="previous" onclick="move('prev')" />
<br>
<input type="text" id="txtresult"/>
</body>
</html>
你找到答案嗎?它有用嗎? –