【问题标题】:Clear POST data after submission so user can't click Back in browser提交后清除 POST 数据,因此用户无法在浏览器中单击返回
【发布时间】:2014-10-24 10:11:15
【问题描述】:

完成后重定向到感谢页面时,我的表单似乎保留了值字段中的所有数据,因此如果用户单击返回所有内容,则意味着他们可以重新提交它,这非常烦人。

if (emailSent) {
    Response.BufferOutput = true;
    Response.Redirect("MYDOMAIN/redirect.aspx");    
};

上面是我提交表单后重定向的地方。让我的代码提取我正在使用的数据:

Request.Form[randomFormField]

当我重定向然后点击返回时,一切都在那里。

$(".submitBut").click(function() {
    $(this).closest('form').find("input[type=text], textarea").val("");
    window.location.href('MYREDIRECTDMAIN/redirect.aspx');
});

以上是我的另一个尝试

我尝试了各种不同的方法,但似乎没有任何效果。我需要一个 ASP.NET 解决方案或 C# 或 JQuery。

【问题讨论】:

  • 您的老板是否只是要求“清除所有字段”,或者您是否对用户能够(例如)两次点击返回发送相同的电子邮件感到恼火?
  • 所以当用户点击返回值是空的我已经尝试了其他用户的回答,这不起作用
  • @djechelon 我是一名初级 Web 开发人员,目前在职
  • 所以当用户点击返回时,值是空的,我已经尝试过其他用户的回答,但这不起作用 – Kieranmv95 6 分钟前我之前说过这个

标签: c# asp.net forms post


【解决方案1】:

页面加载时的Javascript:清除所有表单字段

嗯……

$(document).ready(function() {
    $(':input').val('');
});

参考资料:

  1. Input
  2. Clearing

【讨论】:

  • 如果我使用该方法,它仍然存在,值仍然全部填充
  • 我是靠记忆写代码的。我不是 100000% 确定它是完美的。你能看看是否有任何控制台消息或错误吗?
  • 似乎没有任何控制台错误,我也尝试将其更改为$('input').val('');,但结果相同:(
  • $('input') 在这种情况下是错误的。这意味着“所有元素分类输入”,而不是你想要所有输入标签
  • 嗯,还是不行,尝试了您推荐的原始版本的一些变体,但一切都保留在那里
猜你喜欢
  • 2016-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-30
  • 2023-03-07
  • 2020-11-25
  • 2018-05-22
相关资源
最近更新 更多