Form inputs & bindings
Use common form controls as live App Connect data sources in Wappler, and learn how bindings, events, and type conversion interact while users type, select, and toggle values.
Form inputs & bindings
Section titled “Form inputs & bindings”This tour uses real form controls to explain how App Connect reads and reacts to user input. You will inspect where values come from, how bindings expose those values in Wappler, and where event timing or string conversion changes the result you see.
What you’ll learn
Section titled “What you’ll learn”This tour explains how real form controls behave once App Connect is involved: where their values come from, when those values are strings, how grouped inputs expose a shared result, and which bindings you reach for in day-to-day form work.
Where you configure it
Section titled “Where you configure it”This tour selects a real form field and then highlights its binding and event controls in Properties (so you know exactly where to configure it).
Bind an input to a Variable
Section titled “Bind an input to a Variable”A common pattern: store form state in a Variable, then bind an input to it.
Variable (state source)
Section titled “Variable (state source)”This Variable holds the value used by the input binding.
Input (value source)
Section titled “Input (value source)”Inputs expose their current value as inputId.value, and can also be bound to App Connect state.
Orient yourself in Properties panel
Section titled “Orient yourself in Properties panel”Start with the wider context in the Properties panel so the next control makes sense in the full workflow. In the next step, you will focus on Value binding (dmx-bind:value) and see how it fits into this area.
Value binding (dmx-bind:value)
Section titled “Value binding (dmx-bind:value)”This field’s value binding is configured visually in Properties. Use the picker to insert a valid expression.
Changed event action
Section titled “Changed event action”This event is where you attach actions that should run after the value updates. This step matters because Changed event action is part of Selection Panels Properties Changedvalue, and understanding that context makes the next action easier to repeat in your own project.
Types: inputs are strings
Section titled “Types: inputs are strings”Form inputs are strings by default. Convert to numbers explicitly when doing math or comparisons.
Age input
Section titled “Age input”This number input is still a string value in expressions until you convert it.
Use toNumber() when needed
Section titled “Use toNumber() when needed”Convert strings to numbers to avoid surprising results (like ‘2’ + 1 → ‘21’).
important: When you read a value from an input or from Query Manager, treat it as a string unless you convert it.
Checkboxes: checked vs value
Section titled “Checkboxes: checked vs value”Checkbox inputs expose a boolean checked state. Bind to checked when you want true/false.
Switch checkbox
Section titled “Switch checkbox”This switch uses dmx-bind:checked to sync with App Connect state.
Checked binding (dmx-bind:checked)
Section titled “Checked binding (dmx-bind:checked)”This binding controls the checkbox checked state using an expression (true/false). This step matters because Checked binding (dmx-bind:checked) is part of Selection Panels Properties Checkedvalue, and understanding that context makes the next action easier to repeat in your own project.
Checked event action
Section titled “Checked event action”Use the Checked event to run actions when the user toggles the checkbox. This step matters because Checked event action is part of Selection Panels Properties Checked, and understanding that context makes the next action easier to repeat in your own project.
Checkbox Group (multiple selection)
Section titled “Checkbox Group (multiple selection)”Use a Checkbox Group wrapper to treat a set of checkboxes as one value source.
tip: In Wappler, use the Checkbox Group component so you can bind to one group value and keep the structure clean.
Selects and radio groups
Section titled “Selects and radio groups”Select and Radio Group controls are common for single-choice input.
Country select (value)
Section titled “Country select (value)”A select control exposes the currently selected value as selectId.value.
Selected value binding (dmx-bind:value)
Section titled “Selected value binding (dmx-bind:value)”This binding controls the select’s selected value using an expression. This step matters because Selected value binding (dmx-bind:value) is part of Selection Panels Properties Selectvalue, and understanding that context makes the next action easier to repeat in your own project.
Changed event action (select)
Section titled “Changed event action (select)”Attach actions here when you need to react to the newly selected value. This step matters because Changed event action (select) is part of Selection Panels Properties Changedvalue, and understanding that context makes the next action easier to repeat in your own project.
Radio Group (single selection)
Section titled “Radio Group (single selection)”Use a Radio Group wrapper for a set of radios so you can read one group value.
Preview mode: see values update
Section titled “Preview mode: see values update”Switch to Preview mode and change a few controls. The Live preview card updates immediately via bindings.
Preview mode
Section titled “Preview mode”Switch the page to Preview mode so you can interact with it like a real app.
Wait for Preview mode
Section titled “Wait for Preview mode”Wait for the page to finish switching modes.
Checkbox interaction
Section titled “Checkbox interaction”We’ll toggle the Agree switch. Notice how demoForm.agreeSwitch.checked updates in the Live preview.
Country select value
Section titled “Country select value”The tour selects another Country value so you can see demoForm.countrySelect.value update in the Live preview.
Checkbox group value
Section titled “Checkbox group value”The checkbox group aggregates checked items into one array value (demoForm.interestsGroup.value).
Another checkbox selection
Section titled “Another checkbox selection”Selecting another interest appends another value to the group array.
Radio interaction
Section titled “Radio interaction”We’ll pick a plan option. demoForm.planGroup.value reflects the selected radio.
Try typing in the name field
Section titled “Try typing in the name field”Edit the Full name field and watch both fullName.value and demoForm.nameInput.value change in the preview panels.
Return to Edit mode
Section titled “Return to Edit mode”Switch back to Edit mode to continue inspecting components.
Event timing (change vs changed)
Section titled “Event timing (change vs changed)”When you run actions based on input changes, prefer App Connect’s changed/updated events when you need the updated value.
Prefer changed/updated for “latest” values
Section titled “Prefer changed/updated for “latest” values”If you attach actions to input events, ensure you’re using the event that runs after the new value is in state.
tip: Common workflow: dmx-on:changed → set value / run validations / trigger data reload.
Where to attach actions
Section titled “Where to attach actions”Attach actions on the selected field (or on the form) in Properties. This step highlights the changed event (dmx-on:changed) as a common choice for “latest value” workflows.
Wrap-up
Section titled “Wrap-up”Next, validate inputs and submit them to the server.
Next steps
Section titled “Next steps”Pick a related tour to continue.