Rij*_*K P 2 wordpress radio-button contact-form-7
我有一个带有少量字段的表单以及一个单选按钮。此单选按钮是一个可选字段。但是,如果我没有从单选按钮中选择任何选项,则无法提交表单。
<div class="input-field-outer">
[text* your-name class:name placeholder "Name or business name*"]
</div>
<div class="input-field-outer">
[email* email placeholder "Email*"]
</div>
<div class="input-field-outer">
[text* contact-number id:telno class:hs-phone-number placeholder "Contact number*"]
<span id="errmsg"></span>
</div>
<div class="input-field-outer">
<div class="radio-outer">
[radio customer_type "New Customer" "Old Customer"]
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
当我将其中任何一个选为默认值时,它将起作用:
[radio customer_type默认值:1“新客户”“旧客户”]
关于不使用任何项目的单选按钮的任何想法都是默认的。
解决方法是使用复选框并添加独占参数。这使您无需选择客户类型即可提交表单。
[checkbox customer_type exclusive "New Customer" "Old Customer"]
Run Code Online (Sandbox Code Playgroud)
要删除所有单选字段的验证,请将其添加到functions.php或任何适当的地方。
remove_filter('wpcf7_validate_radio', 'wpcf7_checkbox_validation_filter', 10);
如果您想维护某些无线电所需的验证,请将它们更改为:
[radio fieldName class:required "Yes" "No"]
然后将此代码添加到functions.php:
remove_filter('wpcf7_validate_radio', 'wpcf7_checkbox_validation_filter', 10);
add_filter('wpcf7_validate_radio', function($result, $tag) {
if (in_array('class:required', $tag->options)) {
$result = wpcf7_checkbox_validation_filter($result, $tag);
}
return $result;
}, 10, 2);
Run Code Online (Sandbox Code Playgroud)
小智 5
复选框独占实际上对我不起作用,因为主题的 CSS 不支持它。
无需在主题中添加 JS 和 CSS 来支持此功能,我就通过使用另一个“空”字段成功地克服了无线电问题:
[radio choice label_first default:1 "" "Yes" "No"]
Run Code Online (Sandbox Code Playgroud)
之后我在 CSS 中添加了:
.wpcf7-list-item.first {
display: none;
}
Run Code Online (Sandbox Code Playgroud)
这选择了第一个选项,该选项未显示在前端(以及生成的邮件)中,并且在验证中实际上不需要复选框。
| 归档时间: |
|
| 查看次数: |
7608 次 |
| 最近记录: |