我有一个包含许多数据字段的表单。表单上有一个按钮,可将您重定向到另一个页面以填写更多信息。完成填写更多信息后,您将导航回原始表单。我希望能够发布部分填写的表单,而不必实际提交,因此我可以将其存储在会话中。没有提交的表单数据
是否可以发布表单数据而不需要通过表单上指定的动作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
我不明白之间的“邮报”和“提交”的区别。你究竟做了什么,你想做什么? –