表单提交状态成功/失败
form submission status success/fail
我有一个非常简单的表单,像这样…
<form id="myform" enctype="multipart/form-data" action="/api/test/Post" method="post">
<input name="file2" type="file" />
<input type="text" name="text1" />
<input type="submit" name="submit" value="click click" />
</form>
这反过来调用一个rest式服务,看起来像....
public void Post()
{
var httpRequest = HttpContext.Current.Request;
string value1 = httpRequest .Form["text1"];
//do stuff with the form data submitted
var files = new List<string>();
foreach(string file in httpRequest .Files)
{
var postfeild = httpRequest .Files[file];
//do stuff
}
}
当按下表单上的提交按钮时,页面将刷新。我想告诉用户他们的表单是否已经成功提交,如果有一个错误,或者重定向到另一个页面。
这有可能实现吗?我考虑过进行ajax调用并只发送经过字符串化处理的数据,但是,有文件会使事情变得复杂。
我可以通过c#或JavaScript做什么来达到预期的结果吗?
您可以在由于表单提交而重新加载页面后添加某种警告。您只需要在提交表单之前设置某种标志,并在显示消息后将其设置回来。它需要是一个服务器端标志,一个JS变量将被擦除。
你也可以用jQuery切换到AJAX,这样你就可以在不刷新页面的情况下提交表单。
我更喜欢通过AJAX POST并使用包含状态/消息的JSON对象进行响应。然而,如果你想保持它的经典,那么你必须注入一些javascript在加载时运行。
至于使用javascript web表单:(它已经有一段时间了,因为我已经使用它…)
pcode:
<% if ( someVariable == true ){ Response.Write("alert('successful update of blah');"); } %>
相关文章:
- Backbone fetch中的Ajax在fetch调用退出后完成,因此fetch调用中没有成功/失败事件
- jquery Ajax没有;不要显示任何信息(既不显示成功也不显示失败)
- 解析云代码不会记录/警告成功或失败
- Angular Cross Origin Request CORS失败,但节点http.get()成功返回
- 移动优先 - 加密缓存成功和失败处理程序
- 使用节点确定成功/失败.js函数 async.retry
- PageMethods调用使用1参数成功,但在2上失败(未知web方法)
- 如何根据ajax get请求的成功/失败在适当的范围内更改javascript变量
- ajax成功时调用self-object失败
- 检查客户端验证在服务器端成功/失败
- 如何监视 iframe 中请求的成功或失败
- 咖啡脚本化的 ajax 调用结果在实际成功时失败回调
- 如何在node中编写事件发射器.js让你创建一个函数“myFunction”,然后在运行时调用成功或失败
- jQuery AJAX 请求事件 - 完成,失败,成功
- 为什么 Ajax 请求成功,但最终以失败回调告终
- 如何在 $ 中执行异步操作.延迟,然后失败过滤回调并传递回成功链
- 第一次点击失败,第二次点击在 Ajax 调用 • JQuery / PHP 上成功
- Corodva 文件读取执行成功和失败回调
- $.ajax 成功,但回调不正确:报告失败
- 解析失败,出现: 类型错误: 无法读取未定义的属性“成功”