0

次のような MVC ビューが与えられた場合:

<form id="Form1">
    <label for="LastName">
        @Html.DisplayNameFor(m => m.LastName)
    </label>
    @Html.EditorFor(m => m.LastName)
    <button id="SubmitOne" onclick="SubmitOne_Click()">SubmitOne</button>
</form>

<form id="Form2">
    <label for="LastName2">
        @Html.DisplayNameFor(m => m.LastName2)
    </label>
    @Html.EditorFor(m => m.LastName2)
    <button id="SubmitTwo" onclick="SubmitTwo_Click()">SubmitTwo</button>
</form>

The javascript functions are irrelevant, this problem also occurs when they are empty or just have an alert.

SubmitOne をクリックすると、すべてが期待どおりに機能します。ただし、SubmitTwo をクリックすると、ページ全体が更新されますが、これは発生するはずがありません。Form1 をコメントアウトすると、Form2 は正常に動作します。

ここで何が起こっているのですか?

更新: JavaScript は次のとおりです。

function SubmitOne_Click() {
    alert("One");
}

function SubmitTwo_Click() {
    alert("Two");
}

トラブルシューティングの手順として、ビューを削除してフォームだけにし、スクリプトも何も削除しませんでした。_Layout には Bootstrap、jqGrid、jQuery への参照がありますが、現在このビューでそれらを使用しているものはありません。

4

3 に答える 3

1

ボタンに type 属性を追加する必要があることがわかりました。

<button type="button" id="SubmitTwo" onclick="SubmitTwo_Click()">SubmitTwo</button>

これにより、ボタンがフォームの完全な送信を行うことができなくなりました。

関連項目:ボタンがフォームを送信できないようにする方法

于 2013-07-29T16:06:45.263 に答える