HTML カミソリ フォーム (表示中) から既定のアクションではなく、別のアクションを呼び出そうとしていますが、常に既定のメソッドが呼び出されます。jquery ajax を使用しましたが、この問題を解決できませんでした。次のコードで試しました。
Html かみそりコード:-
@using (Html.BeginForm("InitialView", "AgreementRegistration", FormMethod.Post, new { id = "firstform", role = "form" }))
{
//Other Razor code
<input type="submit" value="Add Another" id="btnAddAnother" name="btnAddAnother" />
}
Jquery Ajax コード :-
$(document).ready(function () {
$("#btnAddAnother").click(function(){
e.preventDefault();
var element = this;
$.ajax({
url: "/AgreementRegistration/AddNew",
type: "POST",
data: JSON.stringify({ 'Options': someData }),
dataType: "json",
traditional: true,
contentType: "application/json; charset=utf-8",
success: function (data) {
if (data.status == "Success") {
alert("Executed!!!");
$(element).closest("form").submit(); //Submit form
} else {
alert("Not Executed");
}
},
error: function () {
alert("error occured!!!");
}
});
});
});
ここで、「AddAnother」ボタンをクリックすると、デフォルトの「InitialView」アクションが呼び出されますが、代わりに「AddNew」アクションを呼び出したいと思います。上記のjqueryコードを使用すると、実行されません。この問題を解決するにはどうすればよいですか?