jquery - 仅当 Woocommerce 结帐字段可见时才需要

标签 jquery wordpress woocommerce required

我正在尝试将 woocommerce 结账中的“业务”字段设置为必填项,但前提是该字段实际显示。

我使用 woocommerce_form_field 创建了一个单选按钮字段,它显示两个选项。使用 javascript,当选中单选按钮时,我切换“业务”输入字段的可见性:

jQuery(document).ready(function () {
$('input[type=radio][name=customer_type]').on('change', function () {
    $('.checkout-bedrijfsnaam').slideToggle();
}); });

“业务”输入的默认 CSS 为:

.checkout-bedrijfsnaam { display:none; }

此外,我还使用 Woocommerce 过滤器“woocommerce_billing_fields”和“woocommerce_shipping_fields”将“业务”字段设为必需:

$address_fields['billing_company']['required'] = true;

但是,一切都很顺利:当“业务”字段关闭并且不显示时,我收到“字段为必填项”警告,并且无法提交表单。是否可以将字段设置为必填字段,但仅在实际显示时才进行?

我知道必须如此,因为 Shipping_fields 上的字段的行为方式相同(未选中复选框时不需要),但我无法理解它。

最佳答案

如果检查仅在客户端进行,那么您可能希望将其从 DOM 中删除,而不是使用 display: none; 隐藏它。当您需要它时,您可以再次附加它。您已经拥有了它的切换开关。

关于jquery - 仅当 Woocommerce 结帐字段可见时才需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33099094/

相关文章:

jquery - 在 jQuery 中使用 on() 获取容器

php - Woocommerce "archive page"带链接的产品标题

javascript - 在 wordpress 中使用 js、css 和 html

css - 如何减小html中表格的大小?

javascript - 添加文章标签时将页脚固定在底部

jQuery mobile - 带和不带视网膜显示的图像尺寸

css - 更改 WooCommerce Checkout 表单输入文本 CSS 样式

wordpress - 如果原始订单有缺货产品,则拆分 WooCommerce 订单并创建新订单

wordpress - WooCommerce Storefront - 为什么搜索结果没有分页?

jquery - 数据表:没有分页按钮