如何在按钮单击事件中传递行值?

时间:2014-05-01 18:21:03

标签: java html jsp onclick

我的jsp文件中有以下代码。在显示的两列中,一列是值,另一列是按钮。我想修改下面的代码,将单击按钮的行中的值传递给java文件。 java文件基本上将利用传递的值。

<table border="1" width="100%" cellpadding="0" cellspacing="0">
<tr>
<th>File ID</th>
<th>Generate Key</th>
</tr>
<%
 Connection con = DbConnector.getConnection();
 PreparedStatement pstm = null;
 String sql = "select u.uniquserid, t.filename, t.status, t.cloud, t.date_, t.report, t.FileID from transaction t join user u on u.userid = t.user order by t.date_ desc;";
 pstm = con.prepareStatement(sql);
 ResultSet rs = pstm.executeQuery();
 while (rs.next()) { %>

 <tr>
   <td><%=rs.getString(7)%></td>
        <% if (rs.getString(3).contains("s")) {%>
        <%request.getSession().setAttribute("PassFID", rs.getString(7));%>
   <td><input type="button" value='Generate Key' onclick=""></input></td>
   <%} else {%>
   <td></td>                                            
   <%}%>
 </tr>
 <%}%>
</table>

2 个答案:

答案 0 :(得分:0)

<tr>
   <td><%=rs.getString(7)%></td>
        <% if (rs.getString(3).contains("s")) {%>
        <%request.getSession().setAttribute("PassFID", rs.getString(7));%>
   <td><input type="button" value='Generate Key' onclick="yourFunction(<%=rs.getString(7)%>)"></input></td>
   <%} else {%>
   <td></td>                                            
   <%}%>
 </tr>

答案 1 :(得分:0)

您可以使用javascript调用您的函数(我建议您将表格放在表格中)。

<tr>
 <td><%=rs.getString(7)%></td>
    <% if (rs.getString(3).contains("s")) {%>
    <%request.getSession().setAttribute("PassFID", rs.getString(7));%>
 <td><input type="button" value='Generate Key' onclick="onclick="somefunction(<%=rs.getString(7)%>);"></input></td>
  <%} 
 else {%>
 <td></td>                                            
 <%}%>

然后使用下面的JS将值传递给另一个jsp页面。在那里你可以用这个值做任何你喜欢的事。

 <script type="text/javascript">
    function somefunction(id){
        var f = document.form;
        f.method="post";
        f.action='somepage.jsp?id='+id;
        f.submit();
    }
</script>