I want to show hidden input fields when check “Buy on company” checkbox. It works, but if I uncheck it leaving “Is VAT exemt” checked and return: “VAT ID field” is shown with “Is VAT exemt” checkbox checked. So I want to avoid this situation.
Picture of situation:
JavaScript
x
29
29
1
document.getElementById('billing_company').style['display'] = 'none';
2
document.getElementById('billing_company_code').style['display'] = 'none';
3
document.getElementById('is_vat_exempt').style['display'] = 'none';
4
document.getElementById('is_vat_exempt_field').style['display'] = 'none';
5
document.getElementById('billing_vat_id').style['display'] = 'none';
6
7
document.getElementById('buy_on_company').onclick = function() {
8
if (this.checked) {
9
document.getElementById('billing_company').style['display'] = 'block';
10
document.getElementById('billing_company_code').style['display'] = 'block';
11
document.getElementById('is_vat_exempt').style['display'] = 'block';
12
document.getElementById('is_vat_exempt_field').style['display'] = 'block';
13
document.getElementById('billing_vat_id').style['display'] = 'block';
14
} else {
15
document.getElementById('billing_company').style['display'] = 'none';
16
document.getElementById('billing_company_code').style['display'] = 'none';
17
document.getElementById('is_vat_exempt').style['display'] = 'none';
18
document.getElementById('is_vat_exempt_field').style['display'] = 'none';
19
document.getElementById('billing_vat_id').style['display'] = 'none';
20
}
21
};
22
23
document.getElementById('is_vat_exempt').onclick = function() {
24
if (this.checked) {
25
document.getElementById('billing_vat_id').style['display'] = 'none';
26
} else {
27
document.getElementById('billing_vat_id').style['display'] = 'block';
28
}
29
};
JavaScript
1
19
19
1
<div id="buy_on_company_field">
2
<input type="checkbox" id="buy_on_company"><label>Buy on company</label>
3
</div>
4
5
<div id="billing_company_field">
6
<input type="text" id="billing_company" placeholder="Company name" style="display: block;">
7
</div>
8
9
<div id="billing_company_code_field">
10
<input type="text" id="billing_company_code" placeholder="Company code" style="display: block;">
11
</div>
12
13
<div id="is_vat_exempt_field">
14
<input type="checkbox" id="is_vat_exempt"><label>Is VAT exempt</label>
15
</div>
16
17
<div id="billing_vat_id_field">
18
<input type="text" id="billing_vat_id" placeholder="VAT ID field" style="display: block;">
19
</div>
Advertisement
Answer
The code for clicking on buy_on_company
is always hiding or showing the billing_vat_id
field. It needs to test that checkbox.
JavaScript
1
34
34
1
document.getElementById('billing_company').style['display'] = 'none';
2
document.getElementById('billing_company_code').style['display'] = 'none';
3
document.getElementById('is_vat_exempt').style['display'] = 'none';
4
document.getElementById('is_vat_exempt_field').style['display'] = 'none';
5
document.getElementById('billing_vat_id').style['display'] = 'none';
6
7
document.getElementById('buy_on_company').onclick = function() {
8
if (this.checked) {
9
document.getElementById('billing_company').style['display'] = 'block';
10
document.getElementById('billing_company_code').style['display'] = 'block';
11
document.getElementById('is_vat_exempt').style['display'] = 'block';
12
document.getElementById('is_vat_exempt_field').style['display'] = 'block';
13
if (document.getElementById('is_vat_exempt').checked) {
14
document.getElementById('billing_vat_id').style['display'] = 'none';
15
} else {
16
document.getElementById('billing_vat_id').style['display'] = 'block';
17
}
18
} else {
19
document.getElementById('billing_company').style['display'] = 'none';
20
document.getElementById('billing_company_code').style['display'] = 'none';
21
document.getElementById('is_vat_exempt').style['display'] = 'none';
22
document.getElementById('is_vat_exempt_field').style['display'] = 'none';
23
document.getElementById('billing_vat_id').style['display'] = 'none';
24
}
25
26
};
27
28
document.getElementById('is_vat_exempt').onclick = function() {
29
if (this.checked) {
30
document.getElementById('billing_vat_id').style['display'] = 'none';
31
} else {
32
document.getElementById('billing_vat_id').style['display'] = 'block';
33
}
34
};
JavaScript
1
19
19
1
<div id="buy_on_company_field">
2
<input type="checkbox" id="buy_on_company"><label>Buy on company</label>
3
</div>
4
5
<div id="billing_company_field">
6
<input type="text" id="billing_company" placeholder="Company name" style="display: block;">
7
</div>
8
9
<div id="billing_company_code_field">
10
<input type="text" id="billing_company_code" placeholder="Company code" style="display: block;">
11
</div>
12
13
<div id="is_vat_exempt_field">
14
<input type="checkbox" id="is_vat_exempt"><label>Is VAT exempt</label>
15
</div>
16
17
<div id="billing_vat_id_field">
18
<input type="text" id="billing_vat_id" placeholder="VAT ID field" style="display: block;">
19
</div>