title: ButtonWidget
created: 201310241419
modified: 201403150837
tags: widget

! Introduction

The button widget displays an HTML `<button>` element that can perform a combination of optional actions when clicked:

* Navigate to a specified tiddler
* Dispatch a user defined [[widget message|WidgetMessages]]
* Trigger a user defined [[popup|PopupMechanism]]
* Assign new text to a specified tiddler

! Content and Attributes

The content of the `<$button>` widget is displayed within the button.

|!Attribute |!Description |
|to |The title of the tiddler to navigate to |
|message |The name of the [[widget message|WidgetMessages]] to send when the button is clicked |
|param |The optional parameter to the message |
|set |A TextReference to which a new value will be assigned |
|setTo |The new value to assign to the TextReference identified in the `set` attribute |
|popup |Title of a state tiddler for a popup that is toggled when the button is clicked |
|class |An optional CSS class name to be assigned to the HTML element |
|style |An optional CSS style attribute to be assigned to the HTML element |
|selectedClass |An optional additional CSS class to be assigned if the popup is triggered or the tiddler specified in `set` already has the value specified in `setTo`  |
|default |Default value if `set` tiddler is missing for testing against `setTo` to determine `selectedClass` |
