使用Javascript提交表单

时间:2013-11-20 15:35:36

标签: javascript jquery html asp.net forms

我正在使用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
                });
            }
        });
    });

1 个答案:

答案 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提交,并将相应的参数与其他表单数据一起包含。