我有index.jsp页面。我正在尝试按下按钮点击功能,这将计算价格列的总和。但是我在运行后得到以下错误
未捕获的RangeError:index.jsp中的最大调用堆栈大小
index.jsp就在这里
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Online Shopping</title>
<style>
tr, th, td{
padding:5px;border:1px solid black;border-collapse:collapse;
}
</style>
<script type="text/javascript" >
function onclick(){alert("in onclick")
var result=0;
var tableElem = document.getElementById(tableId);
var tableBody = tableElem.getElementsByTagName("tbody").item(0);
var i;
var howManyRows = tableBody.rows.length;
for (i=0; i<(howManyRows); i++)
{
var thisTrElem = tableBody.rows[i];
var thisTdElem = thisTrElem.cells[1];
var thisTextNode = thisTdElem.childNodes.item(0);
var thisNumber = parseFloat(thisTextNode.data);
if (!isNaN(thisNumber))
result += thisNumber;
} // end for
alert(result)
}
</script>
</head>
<body>
<h1 align="center">My Shopping</h1>
<table align="center" id="tableId" >
<thead >
<th>Book Name</th>
<th> Price(in Rs.)</th>
<th>Select</th>
</thead>
<tbody>
<tr align="center" >
<td>
Core java
</td>
<td>
200
</td>
<td>
<input type="checkbox" name="order">
</td>
</tr>
<tr align="center">
<td>
Advance java
</td>
<td>
300
</td>
<td>
<input type="checkbox" name="order">
</td>
</tr>
<tr align="center">
<td>
Rich dad poor dad
</td>
<td>
210
</td>
<td>
<input type="checkbox" name="order">
</td>
</tr>
</tbody>
</table>
<br/>
<div align="center">
<button style="background-color: yellow" onclick="onclick()">Add to cart</button>
</div>
请帮帮我
由于
答案 0 :(得分:0)
您正在呼叫onclick = onclick()
。我认为这是一个永远不会结束的递归。
将您的函数onclick
重命名为addToCart
。
<button style="background-color: yellow" onclick="addToCart()">Add to cart</button>
在你所说的第二行功能中
document.getElementById(tableId); //it will return null because tableId is not defined wrap it in quotes
使用
document.getElementById('tableId'); //