Struts1 从 bootstrap 对话框提交时处理程序参数未传递
Struts1 handler parameter not passing when submittibg from bootstrap dialog
我有工作 struts1 调度操作和一个有两个提交按钮的表单,这些按钮有参数和值,它调用方法名称和值。
嗯,没问题。
但是当点击删除按钮时,我想用 bootstrap 对话框确认。
$('.btnDelete').on('click', function(e){
var $form=$(this).closest('form');
e.preventDefault();
$('#confirm').modal({ backdrop: 'static', keyboard: false })
.one('click', '#delete', function (e) {
var sectorId = $(this).parent().parent().children()[0].innerHTML;
var input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", "sectorId");
input.setAttribute("value", sectorId);
document.getElementById("sectorForm").appendChild(input);
$("#sectorForm").submit();
});
});
此处需要e.preventDefault()
停止表单提交。
当从对话框中单击删除按钮时,将传递隐藏参数并提交表单。但是服务器显示以下错误消息。
HTTP Status 500 - Request[/SectorManagement] does not contain handler parameter named 'action'. This may be caused by whitespace in the label text.
请注意删除Bootstrap对话框没有问题。
解决方案是再添加一个名为 action 和 value 的隐藏参数。
$('.btnDelete').on('click', function(e){
var $form=$(this).closest('form');
e.preventDefault();
$('#confirm').modal({ backdrop: 'static', keyboard: false })
.one('click', '#delete', function (e) {
var sectorId = $(this).parent().parent().children()[0].innerHTML;
var input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", "sectorId");
input.setAttribute("value", sectorId);
document.getElementById("sectorForm").appendChild(input);
input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", "action");
input.setAttribute("value", delete);
document.getElementById("sectorForm").appendChild(input);
$("#sectorForm").submit();
});
});
我不知道,但可以有更好的解决方案。
将等待您的答复。
我有工作 struts1 调度操作和一个有两个提交按钮的表单,这些按钮有参数和值,它调用方法名称和值。 嗯,没问题。
但是当点击删除按钮时,我想用 bootstrap 对话框确认。
$('.btnDelete').on('click', function(e){
var $form=$(this).closest('form');
e.preventDefault();
$('#confirm').modal({ backdrop: 'static', keyboard: false })
.one('click', '#delete', function (e) {
var sectorId = $(this).parent().parent().children()[0].innerHTML;
var input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", "sectorId");
input.setAttribute("value", sectorId);
document.getElementById("sectorForm").appendChild(input);
$("#sectorForm").submit();
});
});
此处需要e.preventDefault()
停止表单提交。
当从对话框中单击删除按钮时,将传递隐藏参数并提交表单。但是服务器显示以下错误消息。
HTTP Status 500 - Request[/SectorManagement] does not contain handler parameter named 'action'. This may be caused by whitespace in the label text.
请注意删除Bootstrap对话框没有问题。
解决方案是再添加一个名为 action 和 value 的隐藏参数。
$('.btnDelete').on('click', function(e){
var $form=$(this).closest('form');
e.preventDefault();
$('#confirm').modal({ backdrop: 'static', keyboard: false })
.one('click', '#delete', function (e) {
var sectorId = $(this).parent().parent().children()[0].innerHTML;
var input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", "sectorId");
input.setAttribute("value", sectorId);
document.getElementById("sectorForm").appendChild(input);
input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", "action");
input.setAttribute("value", delete);
document.getElementById("sectorForm").appendChild(input);
$("#sectorForm").submit();
});
});
我不知道,但可以有更好的解决方案。 将等待您的答复。