2014-01-13 59 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。希望这会有所帮助..