【问题标题】:Yii: disable autofill of username and password fields on chromeYii:禁用 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。

【问题讨论】:

标签: php html google-chrome


【解决方案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 上的自动填充功能

              【讨论】:

                猜你喜欢
                • 2012-07-29
                • 1970-01-01
                • 2017-03-05
                • 2020-10-29
                • 1970-01-01
                • 2019-06-22
                • 2014-12-07
                • 2010-11-29
                • 2021-03-21
                相关资源
                最近更新 更多