多くのデータ フィールドを含む 1 つのフォームがあります。フォームには、追加情報を入力するために別のページにリダイレクトするボタンがあります。追加情報の入力が完了すると、元のフォームに戻ります。部分的に入力されたフォームを実際に送信せずに投稿できるようにしたいので、セッションに保存できます。
フォームに指定されたアクション URL を経由せずにフォーム データを投稿することはできますか?
多くのデータ フィールドを含む 1 つのフォームがあります。フォームには、追加情報を入力するために別のページにリダイレクトするボタンがあります。追加情報の入力が完了すると、元のフォームに戻ります。部分的に入力されたフォームを実際に送信せずに投稿できるようにしたいので、セッションに保存できます。
フォームに指定されたアクション URL を経由せずにフォーム データを投稿することはできますか?
リンクまたはボタン (フォーム/ウィジェットの 2 番目の部分にユーザーを移動させる) にクリック イベントを追加できます。そのため、ajax を使用してフォームをアクション メソッドに投稿し、そこに保存できます。
あなたのjsコードは次のようになります
$(function(){
$("#idOfNextLinkOrButton").click(function(e){
e.preventDefault();
var _form=$(this).closest("form"); //Get the form somehave
$.post("@Url.Action("TempSave","Home")",_form.serialize(),function(result){
//do something with the result
});
});
});
ボタンのクリック/フォームの送信時にJavascript Ajaxを使用して、他のURLに投稿できます。
注:フォーム内のボタンをクリックしたときのデフォルトの動作は送信ですが、それを防ぐこともできます。
jQueryで私たちは好きです
$('#btnSend').click(function(e){
e.preventDefault();
$.post('someurl',data,function(result){});
});
データ引数は次のとおりです。
data=$('#yourform').serialize(); // sends the whole form data
or
data=JSON.stingify(someJavaScriptObject); // you can set and send anydata
同じ URL に投稿できますが、たとえば、最後のページにいるときにSurveyCompleted=false
設定する隠しフィールドが含まれています。true
の場合のみtrue
、入力が永続化されます。それ以外の場合は、セッションに保存するだけです。