Net MVC,使用javascript提交表单
我在一个ASP.NETMVC视图上有一个表单,我使用以下代码创建了该表单Net MVC,使用javascript提交表单,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我在一个ASP.NETMVC视图上有一个表单,我使用以下代码创建了该表单 <% using (Html.BeginForm(null, null, FormMethod.Post)) 您可以使用jquery提交表单: <% using (Html.BeginForm(null, null, FormMethod.Post, new { id = "myForm"})) { %> 不要忘了包括mvc附带的jquery-1.2.6.js(或使用更高版本)。如果该页面上只有一个
<% using (Html.BeginForm(null, null, FormMethod.Post))
您可以使用jquery提交表单:
<% using (Html.BeginForm(null, null, FormMethod.Post, new { id = "myForm"})) { %>
不要忘了包括mvc附带的jquery-1.2.6.js(或使用更高版本)。如果该页面上只有一个表单,您可以通过以下方式访问该表单:
document.forms[0].
因此,您可以添加一个链接:
<a href="javascript:document.forms[0].submit()">submit form</a>
如果需要设置表单名称,请使用BeginForm方法的object HtmlatAttributes参数
<% using
(Html.BeginForm(null, null, FormMethod.Post,
new {name="MySuperForm"})) %>
要通过javascript提交表单,请查看。可能很有用。这个简单的解决方案无需回发即可提交Ajax表单
<a href="#" onclick="$('#sbmt').trigger('click'); return false">Generate</a>
<input id="sbmt" type="submit" style="visibility: hidden" />
适用于IE和Firefox。如果您想使用jQuery而不命名表单,并且页面上只有一个表单,您可以在页面上添加如下链接:
<a href="#" class="submitForm">Submit</a>
因此,这是一种不需要你命名表单的方式(就像我在我的网站上那样),只要你只有一个表单。这么说来,你可能需要提交多个表单。我喜欢MVC如此简单地制作这样的东西。要么你的括号不合适,要么事情自2009年以来发生了一些变化!这就是使用Razor语法对我有效的地方:@using(Html.BeginForm(null,null,FormMethod.Post,new{id=“form”}))[Edit:刚刚注意到ajbeaven在另一个答案中指出了这一点]巧妙的解决方案。我喜欢这个答案+1.submit()
导致重定向到POST
控制器方法返回的视图。是否可以在不重定向的情况下提交?您可以让控制器返回具有不同数据的相同视图,然后向用户显示某种响应。如果您根本不想重新加载页面,那么可以完全放弃表单,将一个淘汰视图模型绑定到页面,然后使用jQuery ajax调用将数据发布到控制器,这样您就可以在不发布传统意义上的表单的情况下发布到控制器。
<a href="#" class="submitForm">Submit</a>
$(document).ready(function () {
$("a.submitForm").click(function () {
$("form").submit();
});
});