![](/img/trans.png)
[英]How to post ASP.NET MVC Ajax form using JavaScript rather than submit button
[英]ASP.Net MVC, Submit a form using javascript
我在我使用以下代碼創建的一個ASP.Net MVC視圖上有一個表單
<% using (Html.BeginForm(null, null, FormMethod.Post))
使用此代碼,我無法控制,只要我知道設置表單的名稱。 我現在正在嘗試編寫一個javascript函數來提交表單,這可能不知道表單名稱嗎?
謝謝
您可以使用jquery提交表單:
<% using (Html.BeginForm(null, null, FormMethod.Post, new { id = "myForm"})) { %>
(最后一部分是針對htmlAttributes參數)
這樣做:
$("#myForm").submit();
並且不要忘記包含mvc附帶的jquery-1.2.6.js(或使用更高版本)。
如果你想在沒有命名表單的情況下使用jQuery,並且頁面上只有一個表單,你可以在頁面中添加這樣的鏈接:
<a href="#" class="submitForm">Submit</a>
然后添加這個jQuery,它將連接鏈接以提交每個表單:
$(document).ready(function () {
$("a.submitForm").click(function () {
$("form").submit();
});
});
所以這是一種做到這一點的方式(就像我在我的網站上做的那樣),不需要你為表單命名 - 前提是你只有一個。 說,你可能想提交多個表格..
如果您在該頁面上只有一個表單,則可以使用以下命令訪問該表單:
document.forms[0].
所以你可以添加一個鏈接:
<a href="javascript:document.forms[0].submit()">submit form</a>
這個簡單的解決方案提交Ajax表單而無需回發
<a href="#" onclick="$('#sbmt').trigger('click'); return false">Generate</a>
<input id="sbmt" type="submit" style="visibility: hidden" />
適用於IE和Firefox。
如果需要設置表單的名稱,請使用BeginForm方法的object htmlAttributes參數。
<% using
(Html.BeginForm(null, null, FormMethod.Post,
new {name="MySuperForm"})) %>
要通過javascript提交表單,請查看此帖子 。 可能有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.