ASP.Net MVC, отправьте форму с помощью javascript
У меня есть форма на одном из моих представлений MVC ASP.Net, которые я создал с помощью следующего кода
<% using (Html.BeginForm(null, null, FormMethod.Post))
Используя этот код, я не могу контролировать, насколько я знаю, как установить имя формы. Теперь я пытаюсь написать функцию javascript для отправки формы, возможно ли это, не зная названия форм?
Спасибо
Ответы
Ответ 1
Вы можете использовать jquery для отправки формы:
<% using (Html.BeginForm(null, null, FormMethod.Post, new { id = "myForm"})) { %>
(последняя часть для параметра htmlAttributes)
просто выполните это:
$("#myForm").submit();
и не забудьте включить jquery-1.2.6.js, который поставляется с mvc (или использует более высокую версию).
Ответ 2
Если вы хотите использовать jQuery без именования формы, и у вас будет только одна форма на странице, вы можете просто добавить ссылку на эту страницу:
<a href="#" class="submitForm">Submit</a>
Затем добавьте этот jQuery, который подключит ссылку, чтобы отправить каждую форму:
$(document).ready(function () {
$("a.submitForm").click(function () {
$("form").submit();
});
});
Итак, это способ сделать это (способ, которым я только что сделал это на своем сайте), который не требует, чтобы вы написали форму - при условии, что у вас ее есть. Говоря это, вы можете отправить несколько форм.
Ответ 3
Если на этой странице есть только одна форма, вы можете получить доступ к форме, используя:
document.forms[0].
Итак, вы можете добавить ссылку:
<a href="javascript:document.forms[0].submit()">submit form</a>
Ответ 4
Если вам нужно задать имя формы, используйте параметр htmlAttributes объекта метода BeginForm.
<% using
(Html.BeginForm(null, null, FormMethod.Post,
new {name="MySuperForm"})) %>
Для отправки форм через javascript, этот пост. Может быть полезно.
Ответ 5
Это простое решение представляет форму Ajax без обратной записи
<a href="#" onclick="$('#sbmt').trigger('click'); return false">Generate</a>
<input id="sbmt" type="submit" style="visibility: hidden" />
Работает в IE и Firefox.