添加共同依赖的结帐字段

时间:2013-03-16 04:41:32

标签: php javascript wordpress woocommerce

我想在结帐表单中添加两个字段。我经营着一个销售越野零件的网站。我想有一个文本框,客户可以输入他们的车辆年份/品牌/型号。如果他们不希望我们验证该部件是否与他们的车辆兼容,我希望他们必须检查一个箱子说的话。

http://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/ - 第3课非常适合添加字段....但我不知道如果文本框为空,如何只需要复选框。

TIA

2 个答案:

答案 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.') );