> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Buttons for addresses

> The BT tags of the address pages: save, change and delete the billing address and a different delivery address, refresh the address input, and search saved addresses.

The address pages have more buttons than any other part of the shop. The buyer saves, changes, deletes, goes back and moves on, and each of these actions has its own tag with the prefix `BT-`.

Two groups sit side by side: `BT-Addr_…` belongs to the billing address, `BT-DelivAddr_…` to the different delivery address. Which page carries a button depends on whether the buyer is currently placing an order or managing their saved addresses in the customer account.

## How the BT tags work

A `BT-` tag does not output a label text but the technical name of the button. The shop uses this name to recognize which button was clicked and runs the matching action.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<input type="submit" name="~BT-Addr_Save~" value="Adresse speichern">
```

This leads to three rules that apply to all buttons in the shop:

* The tag goes into the `name` attribute. The `value` attribute holds the text the buyer reads, and you choose it freely.
* The button must submit, so it must be `type="submit"` or a `<button type="submit">`. A `type="button"` without JavaScript submits nothing, and the shop never learns about the click.
* The button must be inside the associated form. Outside of it, the name is lost on submit.

## The billing address

| Tag | Button | Template |
| - | - | - |
| `BT-Addr_Save` | Save billing address | Address management in the customer account (`ws_address_manage.htm`) |
| `BT-Addr_SaveDelivAddr` | Save and enter a different delivery address | Address management in the customer account |
| `BT-Addr_Delete` | Delete | Address management in the customer account |
| `BT-Addr_Next` | Next | Address management in the customer account |
| `BT-Addr_Back` | Back | Address management in the customer account |
| `BT-Addr_Change` | Change | Billing and delivery address page in the checkout (`ws_address_combined.htm`) |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<form action="~FORM-Address~" method="post" id="addressform">
   ...
   <input type="submit" name="~BT-Addr_Save~" value="Adresse speichern">
   <input type="submit" name="~BT-Addr_SaveDelivAddr~" value="Andere Lieferadresse angeben">
</form>
```

> [!NOTE]
>
> `BT-Addr_SaveDelivAddr` saves and switches in one step. Without this button, the buyer would have to save first and then look for the delivery address, and this is exactly where many give up.

### BT-Addr\_Refresh

This tag does not belong on a button but on an input field. It provides the name under which the AJAX function rebuilds the address input, for example when the buyer changes the country and the selection lists change as a result.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<select name="~A-Country_input~"
        onchange="ws_AJAXRefreshAddressInput('addressform','~BT-Addr_Refresh~','~WS-Charset~')">
   ...
</select>
```

> [!NOTE]
>
> The tag is permitted on all templates where addresses are entered, so both in the address management in the customer account and on the billing and delivery address page in the checkout.

Guide: Selection lists for address data · Reference: A- (billing address)

## The different delivery address

| Tag | Button | Template |
| - | - | - |
| `BT-DelivAddr_Save` | Save different delivery address | Delivery address management in the customer account (`ws_delivaddress_manage.htm`) |
| `BT-DelivAddr_Delete` | Delete different delivery address | Delivery address management in the customer account |
| `BT-DelivAddr_Change` | Change | Billing and delivery address page in the checkout (`ws_address_combined.htm`) |
| `BT-DelivAddr_Next` | Next | Billing and delivery address page in the checkout |
| `BT-DelivAddr_Back` | Back | Billing and delivery address page in the checkout |
| `BT-DelivAddr_Cancel` | Cancel | Billing and delivery address page in the checkout |

> [!NOTE]
>
> The split follows the purpose of the page. Saving and deleting are management actions and are located in the customer account. Next, Back, Change and Cancel guide the buyer through the checkout and are located there.

> [!WARNING]
>
> `BT-DelivAddr_Cancel` and `BT-DelivAddr_Back` look similar but do different things. Cancel discards the input of the different delivery address, Back only goes back one page. Label the two clearly differently, otherwise the buyer loses their input.

## Searching saved delivery addresses

### BT-DelivAddrSearch

Triggers the full-text search in the saved different delivery addresses. This is useful for business customers who have stored twenty or more delivery addresses.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<form action="~FORM-DelivAddrSearch~" method="post">
   <input type="text" name="~WS-DelivAddrSearch_input~">
   <input type="submit" name="~BT-DelivAddrSearch~" value="suchen">
</form>
```

> [!WARNING]
>
> The button must be inside the `FORM-DelivAddrSearch` form. In any other form on the page, the search has no effect.

Guide: Offering full-text search for multiple customer data

## Tag overview

All tags on this page are single tags only. They cannot be used as a range tag, negative range tag or loop tag.

| Tag | Single tag |
| - | - |
| `BT-Addr_Back` | yes |
| `BT-Addr_Change` | yes |
| `BT-Addr_Delete` | yes |
| `BT-Addr_Next` | yes |
| `BT-Addr_Refresh` | yes |
| `BT-Addr_Save` | yes |
| `BT-Addr_SaveDelivAddr` | yes |
| `BT-DelivAddr_Back` | yes |
| `BT-DelivAddr_Cancel` | yes |
| `BT-DelivAddr_Change` | yes |
| `BT-DelivAddr_Delete` | yes |
| `BT-DelivAddr_Next` | yes |
| `BT-DelivAddr_Save` | yes |
| `BT-DelivAddrSearch` | yes |

## Related topics

* Guide: Requesting the billing address
* Guide: Requesting a different delivery address
* Reference: A- (billing address)
* Reference: Buttons in the order process


## Related topics

- [Buttons in the order process](https://dokumentation.websale.de/en/v8s/referenz/tags/bt/bestellprozess.md)
- [A- (Billing address)](https://dokumentation.websale.de/en/v8s/referenz/tags/a-rechnungsadresse.md)
- [D- (Delivery address)](https://dokumentation.websale.de/en/v8s/referenz/tags/d-lieferadresse.md)
- [MDM- (Multiple delivery addresses)](https://dokumentation.websale.de/en/v8s/referenz/tags/mdm-mehrere-lieferadressen.md)
- [Multiple delivery addresses and sample copies](https://dokumentation.websale.de/en/v8s/referenz/tags/basket/mehrfach-lieferadressen-und-belegexemplare.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.