我正在使用mvc asp.net处理项目,我现在尝试做的是使用javascript提交表单。
javascript工作并提交我的表单。
我的问题是我的按钮标签中有一个值,我希望它在我的控制器中,但它只能为空。
控制器是正确的,因为如果我在没有javascript的情况下进行正常提交,我会得到我想要的值
我的<button>
使用javascript我只收到空。
有人可以帮我一把吗?提前致谢
这是我的代码:
$(function () {
$('form').find('button[type=submit]').click(function (e) {
e.preventDefault();
$form = $(this).closest('form');
if (this.name == 'yes') {
doConfirm("Confirm that you want to validate?", function yes() {
$form.submit();
});
} else {
doReject("Confirm that you want reject?", function no() {
// do nothing
});
}
});
});
答案 0 :(得分:1)
以编程方式提交的表单不包含与提交按钮对应的参数,考虑到它们不是通过单击按钮直接触发的,这是有意义的。最简单的方法是在提交表单之前将相应的参数添加到表单的action
属性中。这样的事情应该有效:
var button = this;
...
doConfirm("Confirm that you want to validate?", function yes() {
$form[0].action += ($form[0].action.indexOf('?') != -1 '&' : '?') + button.name + '=' + button.value;
$form.submit();
}
或者,您可以将整个事物转换为AJAX提交,并将相应的参数与其他表单数据一起包含。