【问题标题】:Can we force the Postback on click of a submit button (MVC3)我们可以在单击提交按钮时强制回发(MVC3)
【发布时间】:2012-05-09 15:11:57
【问题描述】:

我有一个表单,它有两个提交按钮(一个在主表单中,另一个在隐藏的 div 中,在某些情况下可见)。

在第一种情况下,提交按钮工作正常,但是当 div 显示为弹出窗口时,单击 div 中的提交按钮时,不会触发任何操作。

但我希望将表单提交给控制器,因为 div 也是父表单的一部分。
我这样做的目的是启动模型绑定并收集所有我的控制器中的表单元素值。

我可以使用 Jquery 强制表单发布并在第二次提交按钮单击时启动模型绑定吗? 我的表单看起来像这样:

     @using (Html.BeginForm("SelectSuggestedAddress", "Dispatch", FormMethod.Post, new { id = "myform" }))
        { ....

     <p>
         <input id= "btn1" type="submit" value="Save" />
    </p>
}

& 在 div 中,我有一些带有另一个提交按钮的控件:

<div style="display: none">
@Html.EditorFor(model => model.Address)
    <p>
         <input id= "btn2" type="submit" value="Save" onclick="InitiatePost()" />
    </p>
    }
<div>

然后在一个单独的 javascript 文件中:

function InitiatePost() {
    alert("Posting the Form");
    $('#btn2').click(function () {
        $('#myform').submit();
    });

它是否应该启动 post & 做模型绑定 & 以收集我的控制器中的所有 Form 元素值。

在我的情况下,警报在按钮单击时触发,但 POST 没有发生。 请帮我纠正我的代码。

【问题讨论】:

    标签: jquery asp.net-mvc-3


    【解决方案1】:
        $(function() {    
            $('#btn2').click(function() {
                $('#btn1').trigger('click');
            });
        });
    

    【讨论】:

    • alert( $('#myform').valid()+ ' '+ $('#myform').length);它返回什么值?在按钮上单击 btn2
    猜你喜欢
    • 1970-01-01
    • 2016-12-31
    • 1970-01-01
    • 1970-01-01
    • 2018-11-13
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多