使用一個鏈接,而不是一個按鈕,我如何使用一個鏈接,而不是一個按鈕提交表單中beginform在beginform
這是我,但我不想使用一個按鈕
<% using (Html.BeginForm()) { %> - <%: role %> <%: Html.Hidden("Username", user) %> <%: Html.Hidden("RoleToDelete", role) %> <button type="submit">X</button> <% } %>
感謝
使用一個鏈接,而不是一個按鈕,我如何使用一個鏈接,而不是一個按鈕提交表單中beginform在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>
您將需要確定表單的一些方法,這樣你就可以調用它的相關對象的submit方法,以使您的生成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 d isabled瀏覽器的
你需要先用BeginForm命名你的表格,那麼您可以在鏈接的onclick事件refernce它。
<% 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>
<% } %>
Html.ActionLink會爲你工作嗎?請參閱http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx – sll