我想在结帐表单中添加两个字段。我经营着一个销售越野零件的网站。我想有一个文本框,客户可以输入他们的车辆年份/品牌/型号。如果他们不希望我们验证该部件是否与他们的车辆兼容,我希望他们必须检查一个箱子说的话。
http://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/ - 第3课非常适合添加字段....但我不知道如果文本框为空,如何只需要复选框。
TIA
答案 0 :(得分:0)
我对woothemes不太了解,但是如果表单填写了“代码段,则禁用此复选框”。你没有用PHP标记你的查询所以这是所有基本的javascript
<!DOCTYPE html>
<meta charset="UTF-8">
<title>test</title>
<input type="checkbox" id="myCheckBox"></input>
<input type="text" name="myTextBox" id="checking" onblur="myTextBox(this);" onmousedown="myTextBoxActive(this);" />
<script>
function myTextBox(field) {
if (field.value == '') {
document.getElementById('myCheckBox').disabled=false;
}
}
function myTextBoxActive(field) {
if (field.value == '') {
document.getElementById('myCheckBox').disabled=true;
}
}
</script>
答案 1 :(得分:0)
我猜是昨晚。答案很简单。以下是我在原始问题中发布的链接。
/**
* Process the checkout
**/
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');
function my_custom_checkout_field_process() {
global $woocommerce;
// Check if set, if its not set add an error.
if (!$_POST['my_field_name'])
$woocommerce->add_error( __('Please enter something into this new shiny field.') );
}
所有必须做的是:
if (!$_POST['my_field_name'])
$woocommerce->add_error( __('Please enter something into this new shiny field.') );
修改如:
if (!($_POST['my_field_name'] || $_POST['my_checkbox']))
$woocommerce->add_error( __('Please enter something into this new shiny field or check the box.') );