Javascript Html-从数据库中删除行

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

我试图使用HTML/JSP文件中的复选框从MS access数据库中删除一行。该文件当前将数据库输出到UI,勾选复选框并按delete后,会弹出提示。但我仍然无法从数据库中删除该行。任何帮助都将不胜感激。谢谢

见下面的代码:

<%@ 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。不想全部改变。帮我个忙,你能给我看看你用来删除记录的新函数和代码吗?您可以编辑问题并进行更新。