0

小さな問題で立ち往生しています。たとえば、コントローラーアクションメソッドに既に投稿しているフォーム内にこのボタンがあります Edit()。たとえば、別のアクションメソッドに投稿するキャンセルボタンが必要ですEdit(int id)。フォームで指定されたデフォルトの投稿を上書きしようとしてHtml.Beginいるので、Javascript イベントを添付しましたが、イベントがヒットしません。アクションリンクを使用すれば魅力的に機能することはわかっていますが、リンクがボタンのように見えることを心配しています。また、フォーム内のさまざまな要素を物理的に配置するために、リンクを別のフォームに配置することはできません。ヒントをいただければ幸いです。

@using (Html.BeginForm("Edit", "RunLogEntry", FormMethod.Post, new { enctype = "multipart/form-data" })) { 

        <input id="create" class="art-button" type="submit" value="Save" /> 
        <input id="cancel" class="art-button" type="submit" value="Cancel" />       
        }


    $("#cancel").click(function(e) { 
    e.preventDefault(); //Keep form from posting 
    window.location.href = "REDIRECT URL";

    });
4

1 に答える 1

1

cancelボタンの種類をに変更しますbutton。このように、デフォルトではフォームの送信はトリガーされません。JavaScriptで処理する必要があります。

@using (Html.BeginForm("Edit", "RunLogEntry", FormMethod.Post, new { enctype = "multipart/form-data" })) { 
    <input id="create" class="art-button" type="submit" value="Save" /> 
    <input id="cancel" class="art-button" type="button" value="Cancel" />       
}

また、この場合、e.preventDefault();ラインは必要ありません。

$("#cancel").click(function(e) { 
    window.location.href = "REDIRECT URL";
});
于 2012-06-18T00:19:58.030 に答える