我面临与自动填写表格有关的问题。实际上,我正在运行一个信托慈善网站,该网站从捐赠者那里收集资金。
问题 :
当我为一个原因输入捐款时,我想再次为同一原因输入捐款,但信用卡详细信息不同。然后我很奇怪,我需要输入与卡片相关的详细信息的表格保留了之前捐赠的所有信息,因此所有内容都已输入。
我已经尝试 autocomplete="off"
过形式和输入。
我面临与自动填写表格有关的问题。实际上,我正在运行一个信托慈善网站,该网站从捐赠者那里收集资金。
问题 :
当我为一个原因输入捐款时,我想再次为同一原因输入捐款,但信用卡详细信息不同。然后我很奇怪,我需要输入与卡片相关的详细信息的表格保留了之前捐赠的所有信息,因此所有内容都已输入。
我已经尝试 autocomplete="off"
过形式和输入。
尝试在表单元素的 id 或名称的开头或结尾添加唯一标识符。
或者有这个:
autocomplete = “off” 不是 XHTML Transitional 的有效标记,这是一种常见的 DOCTYPE。使用它来保留有效的标记
if (document.getElementsByTagName) {
var inputElements = document.getElementsByTagName(“input”);
for (i = 0; inputElements[i]; i++) {
if (inputElements[i].className && (inputElements[i].className.indexOf(“disableAutoComplete”) != -1)) {
inputElements[i].setAttribute(“autocomplete”, ”off”);
}
}
}
重命名每个页面加载的输入。生成前缀,并将其放在表单的隐藏字段中。
$prefix = date("U"); //lets use unix time for this.
...
<input type="hidden" name="prefix" value="<?php echo $prefix; ?>"/>
<input type="text" name="<?php echo $prefix; ?>_cardnumber" />
...
并在处理时寻找
$_POST[$_POST['prefix'].'_cardnumber']
如果这是谷歌浏览器,那么它实际上有一个功能,它会忽略当前网络表单中的自动完成设置,实际上会从它自己的“个人程序缓存”中提取数据并为您填充字段以方便使用。它在识别地址字段时也会这样做。Thomas Martin Klein 的答案可能效果最好,但我之前没有测试过,所以 Chrome 可能足够聪明,可以识别你的算法。祝你好运!