0

如何在不使用 get 方法的情况下传递 id?只有post方法..

这是我的具有 get 方法的代码:

<c:forEach var="student" items="${studentList}">
    <tr>
    <td><c:out value="${student.firstName}" /></td>
    <td><c:out value="${student.middleName}" /></td>
    <td><c:out value="${student.lastName}" /></td>
    <td><c:out value="${student.yearLevel}" /></td>
    <td><c:out value="${student.scholarship}" /></td>
    <td><a href="student?page=edit&id=${student.id}">Edit</a></td>
    <td><a href="student?page=delete&id=${student.id}">Delete</a></td>
    </tr>
</c:forEach>

我试着用

   <input type="hidden" name="edit" value="${student.id}">
   <input type="hidden" name="delete" value="${student.id}">

但是列表中的第一个学生将始终被编辑,学生列表中的第一个将被删除

4

2 回答 2

1

您需要<form>为每个按钮创建一个单独的标签。

否则,您的所有按钮将共享表单中的所有输入。

于 2013-01-14T15:15:20.113 回答
0

如果你能够使用 jQuery,你可以这样做:

<script type="text/javascript">
$(function() {
    $(".studentAction").off("click").on("click", function() {
        var url = "student";
        url += "?page=" + $(this).attr("name");
        url += "&id=" + $(this).val();
        $.ajax({
            type: "POST",
            url: url,
            async: false,
            success: function(data) {
                // on success
            },
            error: function(data) {
                // on error
            }
        };
    });
});
</script>

<input class="studentAction" type="hidden" name="edit" value="${student.id}">
<input class="studentAction" type="hidden" name="delete" value="${student.id}">
于 2013-01-14T15:31:45.893 回答