如何禁用Contact Form 7中输入的自动完成功能?

时间:2018-09-25 作者:Varsha Dhadge

我有以下联系表格7的代码。通常我使用autocomplete="off" 用于html输入字段。但是,无法找出如何对联系人表单7执行相同操作

<div class="row">
<div class="col-md-6">
    [text* FirstName placeholder "First Name"]
</div>
<div class="col-md-6">
    [text* LastName placeholder "Last Name"]
</div>
<div class="col-md-12">
    [email* EmailAddress placeholder "Email Address"]
</div>
<div class="col-md-12">
    [text* desc placeholder "Tell us a bit about yourself..."]
</div>
<div class="col-md-12">
    [submit "Submit"]
</div>
</div>

3 个回复
最合适的回答,由SO网友:Arnis Juraga 整理而成

表单设置中的自动完成标记不再起作用(今天请联系表单7插件版本5.1.3.

唯一对我有效的解决方案是添加自定义属性https://stackoverflow.com/a/46316728/1720476.

E、 g.如果你有FirstNameLastName 要在其中禁用自动完成的字段。

将此添加到functions.php 文件:

add_filter( \'wpcf7_form_elements\', \'imp_wpcf7_form_elements\' );
function imp_wpcf7_form_elements( $content ) {
    $str_pos = strpos( $content, \'name="FirstName"\' );
    if ($str_pos) {
        $content = substr_replace( $content, \' autocomplete="both" autocomplete="off" \', $str_pos, 0 );     
    }

    $str_pos = strpos( $content, \'name="LastName"\' );
    if ($str_pos) {
        $content = substr_replace( $content, \' autocomplete="both" autocomplete="off" \', $str_pos, 0 );
    }

    return $content;
}

SO网友:Aravona

根据发展商的问答:https://wordpress.org/support/topic/autocomplete-off-3/

您只需添加autocomplete:off 短代码选项:

[email your-email autocomplete:off "[email protected]"]

虽然如果插件没有按照问题中的说明更新为使用自动完成:false Chrome可能仍然会忽略它。如果它还不能工作,你可能需要向插件作者寻求支持。版本4.5中已将Autocomplete添加到此插件。

SO网友:abasteris

如果您在整个站点中使用相同的表单,Arnis建议的答案是有效的,但是,它会在函数中没有针对所有字段的表单中插入文本。php文件。

对于新的建议解决方案:

从2019年12月开始,将输入或文本区域“autocomplete”属性设置为非标准值的随机变量似乎可以解决Chrome的问题,但不知道为什么禁用autocomplete的本机CF7选项尚未更新。

可以使用简单的jQuery行定义此属性,如:

$("input.wpcf7-form-control, textarea.wpcf7-form-control").attr("autocomplete", "negative");
这针对CF7字段的默认类。

编辑:忘了提一下,这需要了解在哪里添加自定义js脚本,大多数高级主题都支持自定义js部分,或者只是将行添加到子主题的主js文件中。

结束
如何禁用Contact Form 7中输入的自动完成功能? - 小码农CODE - 行之有效找到问题解决它

如何禁用Contact Form 7中输入的自动完成功能?

时间:2018-09-25 作者:Varsha Dhadge

我有以下联系表格7的代码。通常我使用autocomplete="off" 用于html输入字段。但是,无法找出如何对联系人表单7执行相同操作

<div class="row">
<div class="col-md-6">
    [text* FirstName placeholder "First Name"]
</div>
<div class="col-md-6">
    [text* LastName placeholder "Last Name"]
</div>
<div class="col-md-12">
    [email* EmailAddress placeholder "Email Address"]
</div>
<div class="col-md-12">
    [text* desc placeholder "Tell us a bit about yourself..."]
</div>
<div class="col-md-12">
    [submit "Submit"]
</div>
</div>

3 个回复
最合适的回答,由SO网友:Arnis Juraga 整理而成

表单设置中的自动完成标记不再起作用(今天请联系表单7插件版本5.1.3.

唯一对我有效的解决方案是添加自定义属性https://stackoverflow.com/a/46316728/1720476.

E、 g.如果你有FirstNameLastName 要在其中禁用自动完成的字段。

将此添加到functions.php 文件:

add_filter( \'wpcf7_form_elements\', \'imp_wpcf7_form_elements\' );
function imp_wpcf7_form_elements( $content ) {
    $str_pos = strpos( $content, \'name="FirstName"\' );
    if ($str_pos) {
        $content = substr_replace( $content, \' autocomplete="both" autocomplete="off" \', $str_pos, 0 );     
    }

    $str_pos = strpos( $content, \'name="LastName"\' );
    if ($str_pos) {
        $content = substr_replace( $content, \' autocomplete="both" autocomplete="off" \', $str_pos, 0 );
    }

    return $content;
}

SO网友:Aravona

根据发展商的问答:https://wordpress.org/support/topic/autocomplete-off-3/

您只需添加autocomplete:off 短代码选项:

[email your-email autocomplete:off "[email protected]"]

虽然如果插件没有按照问题中的说明更新为使用自动完成:false Chrome可能仍然会忽略它。如果它还不能工作,你可能需要向插件作者寻求支持。版本4.5中已将Autocomplete添加到此插件。

SO网友:abasteris

如果您在整个站点中使用相同的表单,Arnis建议的答案是有效的,但是,它会在函数中没有针对所有字段的表单中插入文本。php文件。

对于新的建议解决方案:

从2019年12月开始,将输入或文本区域“autocomplete”属性设置为非标准值的随机变量似乎可以解决Chrome的问题,但不知道为什么禁用autocomplete的本机CF7选项尚未更新。

可以使用简单的jQuery行定义此属性,如:

$("input.wpcf7-form-control, textarea.wpcf7-form-control").attr("autocomplete", "negative");
这针对CF7字段的默认类。

编辑:忘了提一下,这需要了解在哪里添加自定义js脚本,大多数高级主题都支持自定义js部分,或者只是将行添加到子主题的主js文件中。