Forms 在CakePHP表单输入框中禁用自动完成

Forms 在CakePHP表单输入框中禁用自动完成,forms,cakephp,Forms,Cakephp,我正在使用CakePHP表单助手创建表单输入,一些输入(大多数情况下是“用户名”和“密码”)正在创建操作、登录操作等上自动完成。。这很烦人。我猜这些更常见,所以浏览器正在使用cookies来完成输入 无论如何。。如何禁用此功能 我认为: ... echo $this->Form->input('username', array( 'label' => 'Please enter your username', 'class' => 'pure-u-1-2

我正在使用CakePHP表单助手创建表单输入,一些输入(大多数情况下是“用户名”和“密码”)正在创建操作、登录操作等上自动完成。。这很烦人。我猜这些更常见,所以浏览器正在使用cookies来完成输入

无论如何。。如何禁用此功能

我认为:

...

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'
));

...

我缺少什么?

您可以指定要发送到表单帮助器的属性。指定属性“autocomplete”并将其值设置为“off”

...

echo $this->Form->input('username', array(
    'label' => 'Please enter your username',
    'class' => 'pure-u-1-2',
    'autocomplete' => 'off'
));
echo $this->Form->input('password', array(
    'label' => 'Please enter your password',
    'class' => 'pure-u-1-2',
    'autocomplete' => 'off'
));

...
这会导致您的HTML出现如下情况:

<input name="data[Model][username]" autocomplete="off" class="pure-u-1-2" id="ModelUsername" type="text">
<form action=".../Model/Action" class="class" autocomplete="off" id="ModelActionForm" method="post" accept-charset="utf-8">
这将在HTML中为您提供如下内容:

<input name="data[Model][username]" autocomplete="off" class="pure-u-1-2" id="ModelUsername" type="text">
<form action=".../Model/Action" class="class" autocomplete="off" id="ModelActionForm" method="post" accept-charset="utf-8">


注意一些浏览器现在会忽略autocomplete=“off”或autocomplete=“false”。解决方法是在表单上的所有其他输入之前放置一个隐藏的文本和密码字段。浏览器将填充这些内容,而不是您想要保留的内容。

最好的解决方案是使用autocomplete=new password

它在Chrome和Firefox中工作得很好

像这样:

$this->Form->input('password', array('type' => 'password', 'autocomplete' => 'new-password'));

没有标记为重复,因为您要求的是cakephp,但是阅读这个问题和基本的cake doc应该已经为您完成了。是的,但是我想在这种情况下为cakephp用户提供一个快速参考。当我开始做蛋糕的时候,我一直在挣扎。