2014-01-13 54 views
0

我想要使用編輯和刪除按鈕來刪除一個帶有JSP頁面的數據庫記錄。我嘗試了下面的代碼。但只有第一個按鈕正在工作(無論我放在頂部),而第二個按鈕不起作用。任何人都可以幫助..?有兩個onclick事件的兩個按鈕不起作用

<%@ page import="java.sql.*" %> 
<html> 
<head> 
<script language="javascript"> 
function edit(regno){ 
var f=document.form; 
f.method="post"; 
f.action='edit.jsp?regno='+regno; 
f.submit(); 
} 
function delete(regno){ 
var f=document.form; 
f.method="post"; 
f.action='delete.jsp?regno='+regno; 
f.submit(); 
} 
</script> 
</head> 
<body> 

<form method="post" name="form"> 
<table border="1"> 
<tr><th>Name</th><th>Address</th><th>Edit</th><th>Delete</th></tr> 
<% 
Connection conn = null; 
int sumcount=0; 
Statement st; 
try{ 
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); 
conn = DriverManager.getConnection("jdbc:odbc:mydb1"); 
String query = "select * from student"; 
st = conn.createStatement(); 
ResultSet rs = st.executeQuery(query); 
%> 
<% 
while(rs.next()){ 
%> 
<tr> 
<td><%=rs.getString(2)%></td> 
<td><%=rs.getString(3)%></td> 
<td><input type="button" name="delete" value="Delete" 
onclick="delete(<%=rs.getString(1)%>);"> </td> 
<td><input type="button" name="edit" value="Edit"  
onclick="edit(<%=rs.getString(1)%>);"> </td> 
</tr> 
<% 
} 
%> 
<% 
} 
catch(Exception e){ 
e.printStackTrace(); 
} 
%> 
</table> 
</form> 
</body> 
</html> 
+0

向我們展示你到目前爲止嘗試過的嗎?在你的情況下,發佈'edit()'和'delete()'函數。還有你的商業邏輯。 –

+0

對於您的信息,您需要編輯您的問題以發佈您的更新代碼。 –

+0

嗨Vinoth,改變了問題..請看.. – user3190608

回答

0

演示:http://jsfiddle.net/6mGzj/

下面的例子中工作得很好,你可以在點擊按鈕後,形式sended控制檯檢查。

<form method='post' id='form'> 
    <table> 
     <tr> 
      <td><input type='button' data-action='delete' data-regno='2' value='delete' /></td> 
      <td><input type='button' data-action='edit' data-regno='3' value='edit' /></td> 
     </tr> 
    </table> 
</form> 
var form = document.getElementById('form'); 

form.addEventListener('click', function(e) { 
    var type = e.target.getAttribute('data-action'), 
     regno = e.target.getAttribute('data-regno'); 

    //console.log(type+'.jsp?regno='+regno); 
    form.action = type+'.jsp?regno='+regno; 
    form.submit(); 
}, false); 
0

有什麼問題通過的onclick功能,在您的代碼傳遞的值。你需要將其從

onclick="delete(<%=rs.getString(1)%>);" 

改變

onclick="delete('<%=rs.getString(1)%>');" 

而且通過使用alert(regno);console.log(regno);

而且一個建議檢查這REGNO在你的JavaScript功能。您在jsp代碼中使用scriptlet。它非常灰心。您需要開始學習JSTLEL避免使用scriptlet。希望這會有所幫助..