2013-05-05 24 views
-1

在我的網站中,我從數據庫中檢索多個先前保存的地址,並在我的網站上顯示它們。現在,用戶可以選擇其中的任何一個,所選地址的數據將被髮送到下一個頁面以插入到數據庫中。具有相同表單名稱的多個表單。但我想發送正在選擇的表格值

http://tinypic.com/r/2lj70i9/5

我的JSP代碼來獲取地址:

<a href="javascript:next()"> 
<div class="address1"> 
<form name="form2" method="post"> 
<input name="name" type="text" readonly="readonly" value="<% out.print(x1); %>" style="font-weight: bold;" /> 
<input name="address" type="text" readonly="readonly" value="<% out.print(x2);%>"/> 
<input name="city" type="text" readonly="readonly" value="<% out.print(rs1.getString("city"));%>"/> 
<input name="state" type="text" readonly="readonly" value="<% out.print(rs1.getString("state"));%>"/> 
<input name="pin" type="text" readonly="readonly" value="<% out.print(rs1.getString("pin"));%>"/> 
<input name="phone" type="text" readonly="readonly" value="<% out.print(rs1.getString("mob"));%>"/> 
</form> 
<div class="selectLine">Click to Select</div> 
</div> 
</a> 

,我的JavaScript是:

function next() 
{ 
var f=document.forms["form2"]; 
f.method="post"; 
f.action='checkout3.jsp'; 
f.submit(); 
} 

但問題是什麼,我只選擇頂部地址已經被獲取到下一頁。

+0

你有沒有考慮過你的表格有獨特的名字?然後它應該在提交時提交正確的表格。 – thebreiflabb 2013-05-05 06:42:02

+0

表單值是從數據庫動態接收的。這使得所有的表格都有一個共同的名字。 – 2013-05-05 06:49:48

回答

0

當前您的錨元素都會調用您的next()函數,而不傳遞有關選擇哪個項目的任何信息。你可以通過使用onclick='next(this)'來改變它,這樣你的函數就可以獲得對被點擊錨點的引用,但通常最好不要將JS直接包含在你的html中 - 尤其是當你使用像jQuery這樣的庫時,它很容易設置事件處理程序。 (我假設你要麼使用jQuery已經或正在打開它給你增加了jQuery的標籤你的問題。)

我會建議從改變你的錨:

<a href="javascript:next()"> 

...的東西像:

<a class="selectAddress"> 

然後而不是你的next()功能,您可以使用一個基於jQuery的點擊處理程序如下:

$(document).ready(function() { 

    $("a.selectAddress").click(function() { 
     $(this).find("form") 
       .prop("action", "checkout3.jsp") 
       .submit(); 
    });  
}); 

也就是說,將點擊處理程序綁定到具有該類的所有錨點。在處理程序中,this將成爲單擊的特定錨,因此您可以使用.find()方法來選擇作爲錨的後代的表單,然後設置其action屬性,然後提交它。請注意,您的表單在其HTML中有method="post",因此無需像在您的next()函數中那樣再次設置它。

+0

謝謝,那工作。 – 2013-05-05 09:11:32

相關問題