在不提交的情况下发布表单数据

本文关键字:表单 数据 布表单 提交 情况下 | 更新日期: 2023-09-27 18:32:50

我有一个包含许多数据字段的表单。表单上有一个按钮,可将您重定向到另一个页面以填写其他信息。填写完其他信息后,您将导航回原始表单。我希望能够发布部分填写的表格,而无需实际提交,因此我可以将其存储在会话中。

是否可以在不通过表单上指定的操作 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