我有一个表单,它有两个提交按钮(一个在主表单中,另一个在隐藏的 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 没有发生。请帮助我纠正我的代码。