我有一個jsp文件,我從表格的表格中檢索數據庫中的數據。我的jsp如下:將不同的元素傳遞給一個具有相同id的Javascript函數
<%
ResultSet rs1 = stmt.executeQuery("select * from book where category='Fiction'");
%>
<h1><font size="3">
<form name="f1" id="f1" method="post">
<table border="1">
<tr>
<th>Name of the Book</th>
<th>Author</th>
<th>ISBN</th>
<th>Price</th>
<th>Publication</th>
<th>Description</th>
</tr>
<%
while(rs1.next())
{
%>
<tr>
<td id="bname"><%= rs1.getString(1) %></td>
<td id="aname"><%= rs1.getString(2) %></td>
<td id="isbn"><%= rs1.getString(3) %></td>
<td id="price"><%= rs1.getString(4) %></td>
<td id="pname"><%= rs1.getString(5) %></td>
<td id="desc"><%= rs1.getString(7) %></td>
<td><input type="button" value="Add to Cart" onclick="cart()"></input></td>
</tr>
<%
}
%>
這將以行數爲輸出。當我點擊'Add to Cart'按鈕時,它應該將單元格元素傳遞給javascript函數,從而通過JS函數傳遞給servlet。
我在這裏面臨的問題是,由於每個'td'的id都是相同的,雖然我在表格的第二行單擊,但只有第一行的元素傳遞到javascript函數。
這裏是我的javascript函數:
function cart()
{
var bname = window.document.getElementById("bname").textContent;
var isbn = window.document.getElementById("isbn").textContent;
var price = window.document.getElementById("price").textContent;
alert(bname);
alert(isbn);
alert(price);
}
上述「警報只雖然我點擊出現在第二行中的按鈕的正在顯示第一行的值。
我在網上嘗試了很多選擇,但無法解決問題。
兩個元素不能有相同的'ID '。文檔中的'id'必須是唯一的。 – 2013-03-21 14:36:46
它是正確的。我也以這種方式嘗試過。我聲明瞭一個變量'i'並按如下方式使用它: int i = 0; %>