【发布时间】:2010-03-13 07:13:28
【问题描述】:
我有一个带有 capacha 的表单,如果 capacha 输入错误,提交页面后会执行“history.go(-1)”,并且所有字段包括 capacha 输入都会重新显示在屏幕上
现在我有一个 js 可以明确这一点 - 但现在我在几个地方都需要它,我想知道是否可以在返回与 html 表单或任何相关的内容后清除表单字段
谢谢
【问题讨论】:
标签: javascript html forms browser-history
我有一个带有 capacha 的表单,如果 capacha 输入错误,提交页面后会执行“history.go(-1)”,并且所有字段包括 capacha 输入都会重新显示在屏幕上
现在我有一个 js 可以明确这一点 - 但现在我在几个地方都需要它,我想知道是否可以在返回与 html 表单或任何相关的内容后清除表单字段
谢谢
【问题讨论】:
标签: javascript html forms browser-history
您是否尝试过查看cache controlling 验证码图片(或加载它的页面)?
【讨论】:
我认为完全使用“history.go(-1)”和 JavaScript 是个坏主意。 您必须在服务器端验证验证码,并在服务器端选择您必须呈现的页面?再次使用验证码或下一步。
【讨论】:
我认为仅使用 html 是不可能的,需要添加一些编程。
您可以拥有在文档的onload 事件上调用的 js 函数。
函数可以是这样的:
function resetfields()
{
$("input[type=text]").val("");
$("textarea").val(""); // if any textarea
}
你也可以在这个函数中使用一些 ajax 来每次获取一个新的验证码。
您可以将此功能放置在您的主页面/标题页面中,这样您就不需要将其复制到所有页面(为此您可能需要使选择器更精确)。
【讨论】:
另一个选项是您可以在每次访问页面时重命名表单字段。将时间戳附加到名称。这样浏览器就不会自动填充它。您可能需要稍微调整后端代码来解决这个问题。
【讨论】: