# [Usage](../../../usage.md) > [Components and standard attributes](../basics.md) > URL

`url` | `->setURL()`

Used to set the URL for a `Form` or a `Modal` POST method or a `Button` to redirect on click.

Sets the POST target for `Form` / `Modal` with form, or the redirect target for `Button` on click. When omitted (`null`) forms rely on `action` closures or `progressBar`, and buttons have no navigation. `action` overwrites `url` when both are set.
Accepts a path string or Closure resolving to one.

| Types    | Default |
|----------|---------|
| `string` | `null`  |

### Example
Blade:
```php
{!! \KFramework\Components\Forms\Form::make()->setURL('/users/store')->setSchema([\KFramework\Components\Forms\Input::make()->setName('name')]) !!}
```
Controller:
```php
Form::make()->setURL('/users/store')->setSchema([Input::make('name')]);
Button::make('Docs')->setURL('/docs');
```

### Interaction / tips
- `action` (../shared_attributes/action.md) wins over `url`; set one primary path.
- For long jobs chain `progressBar` (../shared_attributes/progress_bar.md): progress runs, then posts to `url`.
- Guard posts with `validate` (../shared_attributes/validate.md) + `confirmationMessage` (../shared_attributes/confirmation_message.md).

See also: [action](action.md), [progressBar](progress_bar.md), [validate](validate.md), [confirmationMessage](confirmation_message.md), [basics](../basics.md), [Form](../forms/form.md).
