我在 spring mvc 中有一个项目作业,并且有一个从表中删除元素的函数,我想实现该操作的确认。
我没有 js 经验,我在 w3schools 中看到了这段代码,但未能实现它,因此它可以为我工作。
JSP:
<td><a href="${deleteUrl}" onclick="deleteConfirm()">Delete</a></td>
<script>
function deleteConfirm(){
var confirmation = confirm("Do you really want to delete this item
from the list?");
if(confirmation===false){
var message = "false";
return message;
}
}
</script>
Controller :
@GetMapping(Mappings.ITEMS)
public String booksList(Model model,HttpServletRequest request){
String message = request.getAttribute("message").toString();
if(message.equals("false")){
return "redirect:/home";
} else {
delete elemtn ..
...
}
}
我可以检查有关此事的任何来源吗?
最佳答案
如果您调用由 Controller 处理的 URL ${deleteUrl}
,则无论弹出确认窗口如何,删除都会发生。
在 JavaScript 中,您必须使用函数绑定(bind)表格中的文本/链接/按钮,该函数执行以下操作:
- 打开弹出窗口,然后然后...
- 确认后使用 AJAX 调用 URL。
为了简洁起见,让我们使用 jQuery我发现它是一个非常强大的库。我可以构建的最简单的代码如下:
function confirmDelete(url) {
var result = confirm("Do you want to delete an entry?");
if (result) {
$.ajax({
type : "DELETE",
contentType : "application/json",
url : url,
timeout : 10000,
success : function(data) {
// update the table
},
error : function(e) {
// handle the error
}
});
}
}
关于javascript - 将确认消息的结果传递给 spring mvc Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53932799/