0

I have one form that contains many fields of data. There is a button on the form that will redirect you to another page to fill out additional information. Once you have finished filling out additional information you will navigate back to the original form. I'd like to be able to post the partially filled form , without actually submitting it, so I can store it in a session.

Is it possible to post form data without going through the action url specified on the form?

4

3 回答 3

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
    });

  });

});
于 2013-09-25T15:49:46.920 回答
0

您可以在单击某些按钮/提交表单时使用 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
于 2013-09-25T15:54:37.197 回答
0

您可以将其发布到相同的 URL,但例如包含一个隐藏字段SurveyCompleted=falsetrue当您在最后一页时设置为该字段。只有在 时true,输入才会持久化,否则您只需将其保存在会话中。

于 2013-09-25T15:48:16.283 回答