次のコードを使用して作成したASP.Net MVCビューの1つにフォームがあります。ASP.Net MVC、javascriptを使用してフォームを送信
<% using (Html.BeginForm(null, null, FormMethod.Post))
このコードを使用すると、フォームの名前を設定することができます。私は今フォームを送信するためのjavascript関数を書こうとしていますが、これはフォーム名を知らなくても可能ですか?
ありがとう
次のコードを使用して作成したASP.Net MVCビューの1つにフォームがあります。ASP.Net MVC、javascriptを使用してフォームを送信
<% 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(またはより高いバージョンを使用する)を含めることを忘れないでください。あなたはそのページの一形態のみを持っている場合は
は、あなたが使用してフォームにアクセスすることができます:あなたはの名前を設定する必要がある場合
<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をご確認ください。役に立つかもしれない。
この簡単な解決策は、IEとFirefoxでのポストバック
ワークスせずにAjaxのフォームを送信します。
フォームに名前を付けずにjQueryのを使用したい、とあなただけのページ上の一つの形態を持つことになります場合は、あなたは自分のページにこのようなリンクを追加することができます。
<a href="#" class="submitForm">Submit</a>
そして、このjQueryのを追加フォームに名前を付ける必要はありません(ちなみに、私はちょうど私のサイト上でそれをやった)ので、これはそれを行う方法です
$(document).ready(function() {
$("a.submitForm").click(function() {
$("form").submit();
});
});
- :どのごとフォームを送信するためのリンクを配線しますあなたは1つしか持っていなければなりません。それを言って、複数のフォームを提出したいかもしれません。
スリックな解決策。この答えは大好きです。 +1 – dblood
'.submit()'は、 'POST'コントローラメソッドによって返されたビューにリダイレクトします。リダイレクトせずに提出することは可能ですか? – Yoda
あなたは異なるデータで同じビューを返すようにコントローラを得ることができ、ユーザーに何らかの応答を表示することができます。ページをまったく読み込まないようにするには、フォームをまとめてノックアウトビューモデルをページにバインドし、jQuery ajax呼び出しを使用してコントローラにポストすることができます。古典的な意味でフォームを投稿せずにコントローラに送信することができます。 –
私はMVCがこのようなことをいかに簡単にするのが大好きです。 –
ブラケットが外れているか、2009年以降に少し変わったことがありますか?これは、Razor構文を使用して私のために働いたものです:** @ using(Html.BeginForm(null、null、FormMethod.Post、new {id = "form"}))** [編集:ちょうどajbeavenがこれを指摘別の答え] –