如何使用链接而不是按钮在 beginform 中提交表单
这就是我所拥有的,但我不想使用按钮
<% using (Html.BeginForm()) { %> - <%: role %> <%: Html.Hidden("Username", user) %> <%: Html.Hidden("RoleToDelete", role) %> <button type="submit">X</button> <% } %>
谢谢
如何使用链接而不是按钮在 beginform 中提交表单
这就是我所拥有的,但我不想使用按钮
<% using (Html.BeginForm()) { %> - <%: role %> <%: Html.Hidden("Username", user) %> <%: Html.Hidden("RoleToDelete", role) %> <button type="submit">X</button> <% } %>
谢谢
在链接中添加一些 javascript:
<a href="#" onclick="document.nameofyourform.submit();">X</a>
您需要一些方法来识别您的表单,以便您可以调用其相关对象的提交方法,这样您生成的 html 看起来像:
<form id="myform" name="nameofyourform" action="..." method="...">
...
</form>
id 会让你这样做document.getElementById('myform'.submit()
,并且名称将像<a>
上面的示例一样工作。
当然,这一切都取决于 Javascript。如果您的目标是较旧的/缺乏 js 的浏览器,那么您能够提交表单的唯一方法是通过实际的提交按钮
由于您使用的是 MVC,我假设您还将使用 JQuery:
<a href="#" onclick="$(this).parents('form').submit();" >Submit</a>
缺点:
按下回车时不起作用(解决方法:保留提交按钮但将其置于屏幕外)
在浏览器上禁用 JS 时不起作用
您需要先使用 BeginForm 命名您的表单,然后您可以在链接的 onclick 事件中引用它。
<% using (Html.BeginForm("ActionName", "ControllerName", FormMethod.Post, new { id = "deletionform" }))
{ %>
- <%: role %>
<%: Html.Hidden("Username", user) %>
<%: Html.Hidden("RoleToDelete", role) %>
<a onclick="deletionform.submit();">X</button>
<% } %>