0

こんにちは、私のページに問題があります。同じページに 1 つのビュー ページと 2 つのフォームがあります。私はさまざまなアプローチを見て試しました(このような => asp.net MVC 4 multiple post via different forms)が、私の問題との違いに気付きました。

問題は、メイン フォームと、JQuery によって表示される別のフォームがあることです。最初の表示では表示されませんが、リンクをクリックすると、2 番目のフォームがモーダル ダイアログ ボックスとして表示されます。そのボックスのボタンをクリックすると、機能しないようです。

これについてあなたの助けが必要です!

編集:

以下は、アプリケーションで使用したコードです。

.CSTHML フォーム

@using (Html.BeginForm("Login2", "Account", FormMethod.Post, new { @id = "loginForm" }))
{
    <a id="submitlink" href="#" class="button button-large">Sign In</a>
}

@using (Html.BeginForm("TroubleSubmit", "Account", FormMethod.Post, new { @id = "troubleSubmitForm" }))
{
    <a id="troubleSubmitLink" href="#" class="button">OK</a>
}

Jクエリ

$('a#submitlink').click(function () {
            $('#loginForm').submit();
        });

$('a#troubleSubmitlink').click(function () {
            $('#troubleSubmitForm').submit();
        });

最初のフォームは正しく機能しています。しかし、2 番目のフォームの [OK] ボタンをクリックしても何も起こらないようです。

4

2 に答える 2

1

bitwiser の応答に追加します。

JQueryでこのようなことをすると

$(document).on("click", "a[href='#Submit']", function(event) {
    $(event.currentTarget).closest("form").submit()
});

次に、HTML フォームでこれを行うことができます (hrefs、「#Submit」に注意してください)。

@using (Html.BeginForm("Login2", "Account", FormMethod.Post, new { @id = "loginForm" }))
{
    <a id="submitlink" href="#Submit" class="button button-large">Sign In</a>
}

@using (Html.BeginForm("TroubleSubmit", "Account", FormMethod.Post, new { @id = "troubleSubmitForm" }))
{
    <a id="troubleSubmitLink" href="#Submit" class="button">OK</a>
}

上記の jquery を使用すると、フォーム内のリンクごとに個別のクリック ハンドラーを設定する必要はありません。href を #Submit に設定するだけで、1 つのグローバル ハンドラーが送信を処理します。

于 2013-06-25T02:41:05.033 に答える
1

アンカー タグの ID の Link にはキャピトル L が含まれていますが、jquery セレクターは小文字を使用しています。セレクターは大文字と小文字を区別すると思います。

于 2013-06-25T02:24:32.687 に答える