Yii:禁用 chrome 上用户名和密码字段的自动填充

Posted

技术标签:

【中文标题】Yii:禁用 chrome 上用户名和密码字段的自动填充【英文标题】:Yii: disable autofill of username and password fields on chrome 【发布时间】:2015-02-28 18:09:10 【问题描述】:

如何在 Yii 中禁用自动填充字段。它会自动加载登录用户保存的用户名和密码。

<?php echo $form->textField($model,'username',array('size'=>60,'maxlength'=>100, 'class'=> 'form-control input-inline input-medium', 'autocomplete'=>"off")); ?>
<?php echo $form->passwordField($model,'password',array('size'=>60,'maxlength'=>255, 'class'=> 'form-control input-inline input-medium', 'autocomplete'=>"off")); ?>

注意: 属性 autocomplete='off' 在 chrome 上不起作用。它正在开发 FF。

【问题讨论】:

Chrome Browser Ignoring AutoComplete=Off 的可能重复项 不是重复的,这个问在Yii怎么做 【参考方案1】:

这可能是一个帮助:)

<div class="row">
 <div class="col-md-4">
    <?php echo $form->field($model, 'email',['inputOptions' => [
'autocomplete' => 'off']])?>
 </div>
<div class="col-md-4">
    <?php echo $form->field($model, 'password',['inputOptions' => [
'autocomplete' => 'off']])->passwordInput() ?>
 </div>
</div>

【讨论】:

很好,我直接在ActiveForm:begin(['fieldConfig' =&gt; ['inputOptions' =&gt; ['autocomplete' =&gt; 'off']]]); 中添加以将其应用于整个表单【参考方案2】:

试试这个。它适用于所有领域的 YII 2.0。

<?php $form = ActiveForm::begin(['id' => 'form-name', 'options' => ['autocomplete' => 'off'],]); ?>

【讨论】:

【参考方案3】:

我认为您可以像这样为 textInput 添加样式类或属性:

$form->field($model, 'plate_number')->textInput(['autocomplete' =>'off']);

【讨论】:

【参考方案4】:

Chrome 现在似乎会忽略 autocomplete="off",除非它在标签上。希望这会有所帮助

【讨论】:

【参考方案5】:

浏览器已决定为登录表单(用户名和密码)覆盖自动完成功能。这可能在这里发挥作用。

https://bugzilla.mozilla.org/show_bug.cgi?id=956906

http://www.theregister.co.uk/2014/04/09/chrome_makes_new_password_grab_in_version_34/

试试这个答案中给出的技巧

Chrome Browser Ignoring AutoComplete=Off

【讨论】:

【参考方案6】:
<?=
 $form->field($form_model, 'password',)
      ->textInput(['autocomplete' => 'off','placeholder'=>'Password'])
?>

只需在字段前面使用-&gt;textInput(['autocomplete' =&gt; 'off'])

【讨论】:

【参考方案7】:

试试看:

<?= $form->field($model, 'password_change')->passwordInput(['maxlength' => true, 'autocomplete' => 'new-password'])->label(App::t('Current password')) ?>

【讨论】:

【参考方案8】:

试试这个,在 2018 年 11 月 30 日与 Chrome 中的文本字段一起使用:

&lt;input type="text" name="whatever" autocomplete="off_&lt;?php echo time() ?&gt;"&gt;

这禁用了 Chrome 上的自动填充功能

【讨论】:

以上是关于Yii:禁用 chrome 上用户名和密码字段的自动填充的主要内容,如果未能解决你的问题,请参考以下文章

如何避免在 Chrome 中的表单中自动填充用户名/密码?

文本框(用户名,密码)用 chrome 自动填充

在 HTML 输入字段中禁用复制粘贴? [复制]

防止 Chrome 缓存特定字段

什么会导致 Chrome 保存的密码失败?

Chrome - 您要保存此密码吗?提示获取不正确的值