POST表单数据未提交

时间:2013-09-25 15:46:15

标签: c# javascript html asp.net-mvc

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

是否可以在不经过表单上指定的操作网址的情况下发布表单数据?

3 个答案:

答案 0 :(得分:2)

您可以将click事件添加到您的链接或按钮(将用户带到表单/窗口小部件的第二部分),然后您可以使用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
    });

  });

});

答案 1 :(得分:0)

您可以将其发布到同一网址,但例如包含隐藏字段SurveyCompleted=false,当您在最后一页时,您将其设置为true。只有在true时,输入才会被保留,否则您只需将其保存在会话中。

答案 2 :(得分:0)

您可以点击某个按钮/提交表单,使用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