# Navigation - Overview

## Summary

↳ [#direct-navigation](#direct-navigation "mention")

↳ [#logic-based-navigation](#logic-based-navigation "mention")

↳ [#hooks-navigation](#hooks-navigation "mention")

↳ <mark style="background-color:orange;">add-on</mark> [#forced-navigation](#forced-navigation "mention")

{% hint style="warning" %}
**Attention!**

Please read carefully the instructions below, as the powerful `sf-goto` can be used in a magnitude of cases with various setups.\
We are on track to release many examples and videos to showcase every possible combination.

&#x20;<mark style="background-color:green;">new</mark> <mark style="background-color:orange;">add-on</mark> [Forced Navigation](#forced-navigation): ability to place `sf-goto` outside of form steps!

{% endhint %}

***

## Methods Overview

Superform’s navigation capabilities are versatile, designed to accommodate a wide range of form setups. Explore the distinct features of each method below.

#### **Direct Navigation**

`sf-goto` can be applied to navigation elements, allowing for navigation between form steps, including `next` , `back` , `+1` , `-1` , or specific steps by name (`step-name`) for step teleport. This provides flexible navigation options. You can teleport by +X number or just assigning the step-name as a value.\
\
→ How to: [Direct Navigation](https://deltaclan.gitbook.io/superform/essentials/navigation-overview/direct)

#### **Logic-Based Navigation**

`sf-goto=logic()` navigation combines the `sf-logic` and `sf-logic-goto` attributes, allowing for dynamic branching based on logic conditions. If a logic condition is met, navigation proceeds to the step specified by `sf-logic-goto`. Otherwise, a fallback step can be defined by `sf-logic-fallback`.\
\
→ How to: [Logic / Conditional Navigation](#logic-based-navigation)

#### **Hooks Navigation**

`sf-goto=hook(hookName)` can trigger a specific hook registered in the code by specifying hook name. This provides a way to integrate programmatic navigation actions, allowing for customized navigation flows.\
\
→ How to: [Hooks Navigation](https://deltaclan.gitbook.io/superform/essentials/navigation-overview/hook)

#### Forced Navigation

&#x20;<mark style="background-color:green;">new</mark> <mark style="background-color:orange;">add-on</mark>&#x20;

`sf-force-goto` to enable navigation controls outside form steps. Use the attribute in conjunction with `sf-goto`. This combination allows the external elements to navigate through form steps seamlessly.&#x20;

⚠️ Works in conjuction with your normal `sf-goto`.

⚠️ Note that keyboard navigation is not supported for elements using `sf-force-goto`.

{% hint style="warning" %}
**Step Validation**\
Before navigating to the specified step, `sf-goto` validates the current step to ensure all required inputs are completed.

{% endhint %}

{% hint style="info" %}
**Flexible Navigation**\
The interplay between `sf-goto`, `sf-logic`, and `sf-logic-goto` supports both straightforward and dynamic navigation, ensuring forms can handle everything from simple step transitions to complex branching logic.

{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://deltaclan.gitbook.io/superform/essentials/navigation-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
