提交表單我有一個窗體上的,我用下面的代碼ASP.Net MVC,使用JavaScript
<% using (Html.BeginForm(null, null, FormMethod.Post))
使用這個代碼,我無法控制我的創建MVC ASP.Net的景色之一,據我知道設置表單的名稱。我現在試圖寫一個JavaScript函數來提交表單,這可能不知道表單名稱?
感謝
提交表單我有一個窗體上的,我用下面的代碼ASP.Net MVC,使用JavaScript
<% using (Html.BeginForm(null, null, FormMethod.Post))
使用這個代碼,我無法控制我的創建MVC ASP.Net的景色之一,據我知道設置表單的名稱。我現在試圖寫一個JavaScript函數來提交表單,這可能不知道表單名稱?
感謝
您可以使用jQuery提交表單:
<% using (Html.BeginForm(null, null, FormMethod.Post, new { id = "myForm"})) { %>
(最後一部分是htmlAttributes參數)
只是這樣做:
$("#myForm").submit();
和不要忘記包含mvc附帶的jquery-1.2.6.js(或使用更高版本)。
如果你有一個頁面上只有一種形式,你可以通過訪問形式:如果您需要設置的名稱
<a href="javascript:document.forms[0].submit()">submit form</a>
:
document.forms[0].
所以,你可以添加一個鏈接表單,使用BeginForm方法的對象htmlAttributes參數。
<% using
(Html.BeginForm(null, null, FormMethod.Post,
new {name="MySuperForm"})) %>
要通過javascript提交表單,請查看this post。可能有用。
這種簡單的解決方案提交Ajax表單沒有後回
在IE和Firefox。
如果你想使用jQuery不點名的形式,你將只在頁面上的一個形式,你可以添加這樣一個鏈接到你的頁面:
<a href="#" class="submitForm">Submit</a>
,然後添加這個jQuery這將電纜鋪設鏈接提交每形式:
$(document).ready(function() {
$("a.submitForm").click(function() {
$("form").submit();
});
});
因此,這是做這件事的方式,不需要你來命名形式(順便我只是做了我的網站上) - 前提是你只有一個。說,你可能想要提交多種形式..
我很喜歡MVC如何輕鬆做到這一點。 – 2010-09-21 00:39:36
要麼你有一個支架不合適,或自2009年以來事情有所改變!這是使用Razor語法的工作原理:** @使用(Html.BeginForm(null,null,FormMethod.Post,new {id =「form」}))** [編輯:剛纔注意到ajbeaven指出了這一點另一個答案] – 2011-09-05 18:38:13