我有一個包含許多數據字段的表單。表單上有一個按鈕,可將您重定向到另一個頁面以填寫更多信息。完成填寫更多信息後,您將導航回原始表單。我希望能夠發佈部分填寫的表單,而不必實際提交,因此我可以將其存儲在會話中。沒有提交的表單數據
是否可以發佈表單數據而不需要通過表單上指定的動作url?
我有一個包含許多數據字段的表單。表單上有一個按鈕,可將您重定向到另一個頁面以填寫更多信息。完成填寫更多信息後,您將導航回原始表單。我希望能夠發佈部分填寫的表單,而不必實際提交,因此我可以將其存儲在會話中。沒有提交的表單數據
是否可以發佈表單數據而不需要通過表單上指定的動作url?
您可以點擊事件添加到您的鏈接或按鈕(這需要用戶在表單/部件的第二部分),並且可以使用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
});
});
});
您可以將其發佈到相同的URL,但例如包含隱藏字段SurveyCompleted=false
,當您位於最後一頁時,您將其設置爲true
。只有當true
時,輸入持續,否則你只是將它保存在你的會話中。
您可以張貼到一些按鈕的點擊使用Javascript Ajax的一些其他網址/提交表單。
注意:請確保當您單擊窗體中的按鈕時,默認行爲是提交,但您可以阻止。
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
我不明白之間的「郵報」和「提交」的區別。你究竟做了什麼,你想做什麼? –