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()