Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在不提交的情况下发布表单数据_C#_Javascript_Html_Asp.net Mvc - Fatal编程技术网

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

C# 在不提交的情况下发布表单数据,c#,javascript,html,asp.net-mvc,C#,Javascript,Html,Asp.net Mvc,我有一个表单,其中包含许多数据字段。表单上有一个按钮,可将您重定向到另一页以填写其他信息。填写完其他信息后,您将导航回原始表单。我希望能够在不提交的情况下发布部分填写的表单,以便将其存储在会话中 是否可以在不通过表单上指定的操作url的情况下发布表单数据?您可以只将其发布到同一url,但例如包含隐藏字段SurveyCompleted=false,当您在最后一页时,将其设置为true。只有当true时,输入才会被持久化,否则您只需将其保存在会话中。您可以向链接或按钮(将用户带到表单/小部件的第二部

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


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

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

您可以向链接或按钮(将用户带到表单/小部件的第二部分)添加一个单击事件,这样您就可以使用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
    });

  });

});

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

我不明白“发布”和“提交”之间的区别。如果你在浏览器中没有可用的Ajax(JavaScript关闭),那么你想做什么?你想做什么?+ 1,但是考虑行为。拥有优雅的用户体验,即使只是显示一个表明需要JavaScript的页面。@Shyju-Wow,这其实是不言自明的。我应该知道的。谢谢你的帮助@不客气!很高兴我能帮忙:)