如何使用链接而不是按钮在beginform中提交表单
这就是我所拥有的,但我不想使用按钮
<% using (Html.BeginForm()) { %> - <%: role %> <%: Html.Hidden("Username", user) %> <%: Html.Hidden("RoleToDelete", role) %> <button type="submit">X</button> <% } %>
由于
答案 0 :(得分:2)
在链接中添加一些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剥夺的浏览器,你能够提交表单的唯一方法是通过实际的提交按钮
答案 1 :(得分:1)
由于您正在使用MVC,我假设您也将使用JQuery:
<a href="#" onclick="$(this).parents('form').submit();" >Submit</a>
缺点:
不起作用(解决方法:保留提交按钮但将其放在屏幕外)
不起作用
答案 2 :(得分:0)
您需要先使用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>
<% } %>