1. ホーム
  2. javascript

[解決済み] リダイレクトされずにHTMLフォームを送信する方法

2022-08-02 19:15:40

質問

このようなフォームがあった場合、どのようにすればよいのでしょうか?

<form action="/Car/Edit/17" id="myForm" method="post" name="myForm"> ... </form>

JavaScript/jQueryで他のビューにリダイレクトさせずに送信するにはどうしたらよいでしょうか?

私はStack Overflowからたくさんの答えを読みましたが、それらのすべてが私をPOST関数によって返されるビューにリダイレクトします。

どのように解決するのですか?

やりたいことを実現するためには jQuery Ajax を以下のようにします。

$('#myForm').submit(function(e){
    e.preventDefault();
    $.ajax({
        url: '/Car/Edit/17/',
        type: 'post',
        data:$('#myForm').serialize(),
        success:function(){
            // Whatever you want to do after the form is successfully submitted
        }
    });
});

こちらも試してみてください。

function SubForm(e){
    e.preventDefault();
    var url = $(this).closest('form').attr('action'),
    data = $(this).closest('form').serialize();
    $.ajax({
        url: url,
        type: 'post',
        data: data,
        success: function(){
           // Whatever you want to do after the form is successfully submitted
       }
   });
}

最終解答

これは完璧に動作しました。私はこの関数を Html.ActionLink(...)

function SubForm (){
    $.ajax({
        url: '/Person/Edit/@Model.Id/',
        type: 'post',
        data: $('#myForm').serialize(),
        success: function(){
            alert("worked");
        }
    });
}