我正在使用CakePHP Form帮助程序创建表单输入和一些输入(大多数时候'用户名'和'密码')正在创建操作,登录操作等自动完成.这很烦人.我猜这些只是更常见,所以浏览器使用其cookie来尝试完成输入.
无论如何..我如何禁用此功能?
在我看来:
...
echo $this->Form->input('username', array(
'label' => 'Please enter your username',
'class' => 'pure-u-1-2'
));
echo $this->Form->input('password', array(
'label' => 'Please enter your password',
'class' => 'pure-u-1-2'
));
...
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我想阻止浏览器存储和显示输入值.这就是我这样做的方式:
<form autocomplete="off">
<input type="text" autocomplete="off" name="login" />
<input type="password" autocomplete="off" name="pswd" />
...
</form>
Run Code Online (Sandbox Code Playgroud)
但是由于一些疯狂的原因,即使我完全清除浏览器历史记录,浏览器也会继续存储和显示值.所以,我想知道为什么autocomplete="off"不工作.可能还有另一种更合适的方法.PS.我不确定它是否重要,但我正在使用jquery构建我的表单.
编辑
顺便说一下,与官方的W3C 文档相反,HTML5 autocomplete="off"中没有得到尊重(至少在FF中).
在我的HTML表单中,当我关注某些文本字段时,它们会列出先前输入的值的历史记录.可以避免这种自动下拉吗?我不是在为我的计算机寻找一些浏览器设置提示,相反,我想为我网站的所有用户填写表格.
是否也可以仅为某些选定的文本字段应用这些设置?因为某些文本字段的历史值可能对使用他/她的机器的特定用户有帮助.
可能这可以使用Javascript实现,但不知道从哪里开始.
谢谢你的帮助.
PS:我正在使用PHP和Javascript(JQuery).
我正在使用C#开发.NET应用程序.当用户开始从文本框中删除文本时,浏览器会显示最近输入的数据的小列表(几乎就像下拉列表).项目所有者删除了什么.我相信它是由浏览器自动完成的,因为我从未在我的设计中记录数据或实现过.有没有人知道这个内置功能的名称,甚至更确切地知道如何完全禁用它(最好是所有浏览器).如果可能的话,我想在JQuery的客户端实现这一目标.我这样说是因为我有动态添加文本框的地方.
我最近才学会用HTML和创建网站PHP.
我创建了一个网站,其中有一个测验,要求人们随意翻译单词.用户将他们的答案输入到表单中,并且网站将答案评估为正确或不正确.
现在,当在会话中询问两次问题时,会显示自动填充,允许人们查看他们之前提交的内容.然而,对于试图测试他们记忆的人来说,这并不好.
我知道我可以在我的浏览器中关闭自动填充,但有没有办法可以调整PHP或HTML代码,以便自动关闭此特定表单的自动填充?
我有一个登录表单,我需要强制自动完成关闭.我试过了
jQuery的: $('#login').attr("autocomplete", "off");
HTML: <input ... autocomplete="off">
使用Javascript: document.getElementById('myInputId').autocomplete = 'off';
当我单击登录输入框时,所有浏览器都会显示一个下拉列表
FF, Chrome, IE..
注意这适用于之前已保存密码信息的用户需要强制输入登录详细信息
最近我注意到谷歌浏览器开始自动完成我们构建jquery表时动态生成的所有搜索栏。所有这些字段都不是表单的一部分,但谷歌决定在其中建议登录值。我试图解决初始化回调并使用autocomplete属性,但以下解决方案都不起作用。我在 Firefox/Safari 中没有遇到过同样的问题。任何有助于理解问题的帮助将不胜感激。
autocomplete="off"
autocomplete="false"
autocomplete="autocompleterandom"
Run Code Online (Sandbox Code Playgroud)
这是我们如何初始化表
newTable$.DataTable({
paging: true,
pageLength: 20,
lengthMenu: [15, 30, 60, 80],
search: {
search: _this.searchValues[newTable$.data('type')]
},
initComplete: function() {
$('.section input[type="search"]').prop('name', 'autocompleterandom');
$('.section input[type="search"]').prop('autocomplete', 'autocompleterandom');
}
});
Run Code Online (Sandbox Code Playgroud)
这是生成的搜索栏的样子
<div id="DataTables_Table_1_filter" class="dataTables_filter"> .
<label>Search:
<input type="search" class="" placeholder="" aria-controls="DataTables_Table_1"
name="autocompleterandom" autocomplete="autocompleterandom">
</label>
</div>
Run Code Online (Sandbox Code Playgroud)
经过几个小时的研究,这似乎是一个 chrome 的“功能”,现在 chrome 建议在整个应用程序中保存密码:(
https://bugs.chromium.org/p/chromium/issues/detail?id=587466
这里有十个无数的线程。如何禁用浏览器自动完成行为,例如如何禁用网络表单字段/输入标记上的浏览器自动完成行为?。我不想设置我autocomplete="off"的表单字段。正如关于如何执行此操作的MDN 文档所述:
\n\n\n重要的是要知道,如果您关闭自动完成功能,您就违反了 [WCAG 规则 1.3.5]
\n
因此,作为禁用自动完成功能的替代方案,我想了解作为开发人员,我是否可以帮助浏览器为我的表单字段提供更相关的建议。
\n\n事实上,我可以理解为什么许多开发人员(或他们的老板/客户)最终希望完全摆脱该功能。例如,当我将一个<input name="title">完全不相关的网站添加到我在本地开发的网站时,我的浏览器突然开始向我提供我多年来在多个 StackExchange 网站上提出/编辑的问题的随机样本:

我如何帮助浏览器改善这里的用户体验?浏览器在选择建议文本时会考虑哪些因素?
\n\nlocalhost触发比正常情况更混杂的自动完成?name属性具有通用语义含义,因为 Chrome 正在建议我在其他网站中输入的内容,而这些网站碰巧也使用name="title"其表单中使用。<form id="my-particular-form-has-nothing-to-do-with-qa-sites-btw">某些浏览器中,可能会将其自动完成范围限制为仅建议以前的name="title"条目进入my-particular-form\xe2\x80\xa6?再说一遍,我并不是在寻找告诉我如何禁用自动完成功能的答案,也不是在抱怨这是询问如何做到这一点的问题的重复。我很高兴让浏览器帮助用户填写我的表单字段,但我希望帮助该帮助变得更加\xe2\x80\xa6有用。
\n\n(或者,我是否误解了开始的目的autocomplete?它是否仅用于登录凭据、送货地址、信用卡号等用例,而我应该用于autocomplete="off"其他所有用途?)
我正在使用ReactJS和ReduxJS来构建我的应用程序.
我使用Redux-Form创建了我的表单,并且有很多文本输入,对于其中一个,我使用onkeyDown事件来增加和减少我的文本中的数字
因此,当我单击向上箭头或输入第一个数字时,文本将自动完成,输入上一个日期(历史记录),当我单击另一个向上箭头时会打扰
[提示]我尝试过AutoComplete=off 但没有工作
html ×7
autocomplete ×4
javascript ×3
forms ×2
jquery ×2
asp.net ×1
browser ×1
c# ×1
cakephp ×1
css ×1
firefox ×1
passwords ×1
php ×1
react-redux ×1
redux-form ×1
wcag ×1