InputSetCallback()
Attaches a callback function to a form input element that fires when the input value changes.
Syntax
MaterialSB::InputSetCallback(InputElement, *Callback)
Parameters
| InputElement | The form input element to attach the callback to. |
| *Callback | Pointer to the procedure to call when the input changes. |
Return Value
None.
Remarks
The callback is triggered on the input event, which fires immediately as the user types or changes the value. This works with text inputs, textareas, dropdowns, checkboxes, switches, and range sliders.
For button click callbacks, use ButtonSetCallback() instead.
Example
Global searchInput, volumeSlider, notifyCheckbox
Procedure OnSearchChange()
Protected value.s
!v_value = v_searchinput.value;
If Len(value) >= 3
MaterialSB::Toast("Searching for: " + value, 1000)
EndIf
EndProcedure
Procedure OnVolumeChange()
Protected value
!v_value = v_volumeslider.value;
MaterialSB::Toast("Volume: " + Str(value) + "%", 500)
EndProcedure
Procedure OnNotifyChange()
Protected checked
!v_checked = v_notifycheckbox.checked;
If checked
MaterialSB::Toast("Notifications enabled")
Else
MaterialSB::Toast("Notifications disabled")
EndIf
EndProcedure
Procedure Main(Success)
If Success
MaterialSB::Row(MaterialSB::#Grid_Container)
MaterialSB::Col(12, 6)
MaterialSB::Card()
MaterialSB::CardContent()
MaterialSB::Append(MaterialSB::Header("Real-time Callbacks", 4))
; Text input with callback
searchInput = MaterialSB::TextInput("Search", "Type to search...")
MaterialSB::InputSetCallback(searchInput, @OnSearchChange())
; Range slider with callback
MaterialSB::Append(MaterialSB::Paragraph("Volume"))
volumeSlider = MaterialSB::Range(0, 100, 50)
MaterialSB::InputSetCallback(volumeSlider, @OnVolumeChange())
; Checkbox with callback
notifyCheckbox = MaterialSB::Checkbox("Enable notifications", MaterialSB::#Checkbox_Filled)
MaterialSB::InputSetCallback(notifyCheckbox, @OnNotifyChange())
MaterialSB::CloseCurrentParent()
MaterialSB::CloseCurrentParent()
MaterialSB::CloseCurrentParent()
MaterialSB::CloseCurrentParent()
EndIf
EndProcedure
MaterialSB::Download(@Main())
See Also
ButtonSetCallback(), TextInput(), Range(), Checkbox(), Dropdown()