ASP.NET MVC表单提交链接而不是按钮
我想有一个简单的登录表单(或任何forms),并能够发布它,而不是一个按钮,但有一个链接。
所以没有input
,但是。
我已经看到了很多针对这类问题的解决方案,我尝试了很多不同的选择,每次都没有任何反应。
我已经从我拥有的东西中删除了所有的JQuery,所以这就是“基础”情况:让它提交表单缺少什么?
x.UserName)%>
x.Password)%>
Log In
实现这一目标的唯一方法是使用javascript:
并在JavaScript中:
$(function() { $('a#submit_link').click(function() { $('form#fooForm').submit(); }); });
虽然我建议你使用提交按钮:
并尝试将其设计为锚点。 我的建议是始终使用提交按钮提交表单。 这在语义上更正确,您还会发现在编辑文本字段时按下Enter键之类的内容将提交一种原生的表单。 那么做什么是语义正确的并在CSS中做样式。
如果您想要使用链接而不是按钮的唯一原因是使其看起来不同(同时保留相同的function),为什么不只是将按钮设置为看起来像链接…
不幸的是,’hover’样式不适用于IE,但适用于Firefox。
我并不完全确信将提交按钮看作链接是一个好主意,但我确信我之前已经看过它。
您可以添加一个click
处理程序来执行此操作:
$(function() { $("#submit-link").click(function() { $("#loginForm").submit(); }); });
或者为了使其更具可重用性,请为链接指定一个类,如下所示:
Log In
然后以这种方式引用它:
$(".submit-link").click(function() { $(this).closest("form").submit(); });
这使得任何
能够提交它所在的
。
我在解决方案中唯一要改变的是将onclick事件添加到您的链接以便提交表单:
<% using (Html.BeginForm("Login", "Account", FormMethod.Post, new { id = "loginForm" })) { %> <%= Html.TextBoxFor(x => x.UserName)%>
<%= Html.TextBoxFor(x => x.Password)%>
Log In <%}%>
难道你不能只在它上面放一个onclick事件吗?
Log In