2016-05-28 14 views
0

私のフォームを提出する方法を理解する必要がありますが、私のページが再び上にスクロールしないようにページをリロードしないでください。方法はありますか?フォームを送信しますが、ページをリロードしないでください。 Webmatrixの剃刀

<form method="post" id="myForm"> 
<button type="submit">Click</button> 
</form> 

if(Ispost){ 
Do something but do not reload the page. PS this is razor page. 
} 

答えて

0

はい、可能ですが、サーバー側の部分と同じようにクライアント側のコードと同じです。 jQueryのようなライブラリは物事を単純化し、あなたが$.serialize()https://api.jquery.com/serialize/)関数は$.post()https://api.jquery.com/jquery.post/)関数は、あなたのWebMatrixのエンドポイントに送信できる形式にフォーム内のデータを有効にすることができます使用し

var url = $('#myForm').attr('action'); 
var data = $('#myForm').serialize(); 
$.post(url, data, function() { 
    // tell the user it succeeded 
}).fail(function() { 
    // tell the user it failed 
}); 

上記のフォームは、あなたがにデータを投稿したいURLで指定されたアクションを持っていることを前提としています。私の頭の上オフ

は、このようないくつかのJS/JQコードは、トリックを行う必要がありますserialize()は、フォーム内のフィールドがすべてエンドポイントに渡されることを確認します。

<form method="post" id="myForm" action="/my-end-point"> 
<input type="text" name="someval" id="someval" /> 
<button type="submit">Click</button> 
</form> 
関連する問題