【问题标题】:submit form outside Html.BeginForm MVC在 Html.BeginForm MVC 之外提交表单
【发布时间】:2014-04-01 12:50:38
【问题描述】:

我希望能够在 Html.BeginForm 之外提交一个表单,这就是我所拥有的并且正在表单内工作..

<button type="submit" class="btn btn-default" value="previous" formaction='@Url.Action("Previous", "StudentTest")' >previous </button>

我环顾四周,找到了一个解决方案:给你的 Html.BeginForm 起一个这样的名字:

Html.BeginForm(new {name = "form1" })

然后使用这个:

onclick="document.form1.submit();"

但是是否可以在 Url.Action 中使用相同的东西而不是 onclick,因为我需要控制器中的功能?

干杯

【问题讨论】:

  • 请问为什么需要将提交按钮放在表单之外?
  • @ChrisHardie 另外,如果您想在表单外提交按钮,那么为什么要使用 Html.BeginForm?
  • 样式问题,我需要在按钮之前关闭一个 div,因为不可能在表单内关闭一个 div..
  • @Biplov13 你有什么建议?
  • @JaperTIA 为什么你认为你不能关闭一个 div?您可以将整个页面包装在一个表单中,这将是完全有效的。

标签: asp.net-mvc html.beginform url-action


【解决方案1】:

试试这个:

$('#sendButton').click(function(){
  $('form[name=yourFormName]').setAttrib('action','actionName');
  $('form[name=yourFormName]').submit();
});

或者尝试其他方式:

$('#sendButton').on('click', function () {
            var yourData = { tag1 : $('#tag1').val(), tag2 : $('#tag2').val() /*etc..*/ };
                $.ajax({
                    url: '@Url.Action("Action", "Controller")',
                    type: "POST",
                    data: yourData ,
                    success: function (response) {
                    //sended..
                    },
                    error: function (response) {
                    //not sended..
                    },
                });
});

【讨论】:

  • 我需要在按钮上设置哪个值,因为它没有启动此功能..
  • 对不起,不能很好地理解你。该功能应该正常启动。或者我没有得到你想要的东西
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多