Javascript Html-从数据库中删除行
我试图使用HTML/JSP文件中的复选框从MS access数据库中删除一行。该文件当前将数据库输出到UI,勾选复选框并按delete后,会弹出提示。但我仍然无法从数据库中删除该行。任何帮助都将不胜感激。谢谢 见下面的代码:Javascript Html-从数据库中删除行,javascript,html,database,jsp,checkbox,Javascript,Html,Database,Jsp,Checkbox,我试图使用HTML/JSP文件中的复选框从MS access数据库中删除一行。该文件当前将数据库输出到UI,勾选复选框并按delete后,会弹出提示。但我仍然无法从数据库中删除该行。任何帮助都将不胜感激。谢谢 见下面的代码: <%@ page import="java.io.*,java.util.*,java.sql.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*" %> <%@ taglib
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<html>
<head>
<title>DELETE Operation</title>
<script type="text/javascript">
function deleteEmployee(rowid){
input_box = confirm("Are you sure you want to delete this Record?");
if (input_box == true) {
// Output when OK is clicked
$('#' + rowid).remove();
alert('Record Deleted');
} else {
// Output when Cancel is clicked
return false;
}
}
</script>
</head>
<body>
<sql:setDataSource
var = "bookdB"
scope = "session"
driver = "sun.jdbc.odbc.JdbcOdbcDriver"
url = "jdbc:odbc:bookdB"
/>
<sql:query dataSource="${bookdB}" var="result">
SELECT * from Employees;
</sql:query>
<table border="1" width="100%">
<tr>
<th></th>
<th>Emp ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
</tr>
<c:forEach var="row" items="${result.rows}">
<form method="post" action="reserve.jsp">
<tr id="${row.id}">
<td><input type = "checkbox" value="${row.id}" name="empIds"></td>
<td><c:out value="${row.id}"/></td>
<td><c:out value="${row.first}"/></td>
<td><c:out value="${row.last}"/></td>
<td><c:out value="${row.age}"/></td>
</tr>
</form>
</c:forEach>
<input type="button" value="delete" onclick="deleteEmployee('${row.id}');" />
</table>
</body>
</html>
很好,这将帮助您解决问题。看看下面的脚本
<script type="text/javascript">
function deleteEmployee(){
var empIds = [];
$("input[name='empIds']").each(function() {
empIds.push($(this).val());
});
console.log(empIds);
input_box = confirm("Are you sure you want to delete this Record?");
if (input_box == true) {
// Output when OK is clicked
// Uncomment this code for check your UI part.
// $("input[name='empIds']").each(function() {
// $('#' + $(this).val()).remove();
// });
// alert('Record(s) Deleted');
$.ajax({
url : 'reserve.jsp?empIds='+empIds,
type : "POST",
async : false,
success : function() {
$("input[name='empIds']").each(function() {
$('#' + $(this).val()).remove();
});
alert('Record(s) Deleted');
}
});
$('#' + rowid).remove();
alert('Record Deleted');
} else {
// Output when Cancel is clicked
return false;
}
}
</script>
在html部分
<table border="1" width="100%">
<tr>
<th></th>
<th>Emp ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
</tr>
<c:forEach var="row" items="${result.rows}">
<form method="post" action="reserve.jsp">
<tr id="${row.id}">
<td><input type = "checkbox" value="${row.id}" name="empIds"></td>
<td><c:out value="${row.id}"/></td>
<td><c:out value="${row.first}"/></td>
<td><c:out value="${row.last}"/></td>
<td><c:out value="${row.age}"/></td>
</tr>
</form>
</c:forEach>
<input type="button" value="delete" onclick="deleteEmployee();" />
</table>
最初忘记ajax,确保在按钮上获得正确的行id
使用console.logempIds或alertempIds单击;在你的功能里面。如果你的db部分是正确的,希望你这次一定会得到 很高兴再次见到你,但这是我真的期望从你这方面得到的代码。你好,再次,我认为一个新的帖子将是帮助解决这个问题的最好方法。我只是删除了我以前的评论,并将其作为答案发布,以便更好地理解。而且我今天就要走了。试试那个代码,让我知道。嗨,维诺,再次感谢你的更新。对不起,它坏了。当我使用上面的代码时,不会弹出删除确认提示。如果我输入下面的代码,它将从我的数据库中删除一条记录,但问题是我必须在代码中设置该Id,因此在本例中是103。从Id=?'的员工中删除不要将请求传递到jsp中,而是将其传递到某个servlet类中。在那里,您可以接收id并执行删除操作。JSP不是执行DB操作的推荐位置。我创建了一个新函数,现在可以从UI中删除带有复选框的行,但仍然无法将其从Access数据库中删除。这仍然在JSP文件中。我很感谢你的推荐,但我网站的其他部分都是JSP。不想全部改变。帮我个忙,你能给我看看你用来删除记录的新函数和代码吗?您可以编辑问题并进行更新。