0

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

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

TIA

4

2 回答 2

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.') );
于 2013-03-16T15:20:41.527 回答
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>
于 2013-03-16T05:30:22.860 回答