ButtonControl

A clickable Button.

Remarks

ButtonControl is used to generate a clickable button.

ButtonControl renders either as a <input>, a <a> or a <button> element, depending on whether it has childControls and on the value of the ID_isLink attribute. See ButtonControl.getTagName().

ButtonControl fires an ID_click event when the user clicks on the button.

For standard and link buttons, the text for the button can be specified using the ID_text property.

To create image buttons, add a <img> element as a child of the button control.

Properties

ID_animators (inherited from Control)A SitedList of animators.
ID_bubbleEventThe event this button bubbles up when it is clicked.
ID_childControls (inherited from ContainerControl)A SitedList of child controls.
ID_controlId (inherited from Control)The ID this control is known in the nearest binding container parent.
ID_enabledTrue if the user can click on this button, false otherwise.
ID_eventMask (inherited from Control)(Advanced) A comma-separated list of peer events this control should receive.
ID_isBindingContainer (inherited from Control)(Advanced) Force this control to act as a binding container.
ID_isLinkSet to true to render this button as an HTML anchor.
ID_isPeerless (inherited from Control)(Advanced) Set this to true to prevent this control from generating a peer element in the rendered HTML.
ID_submitters (inherited from Control)A SitedList of submitters.
ID_tagName (inherited from Control)Overrides the default HTML tag name used for this control.
ID_textThe text label to show in the button. If the button has child elements, the ID_text property is ignored.
ID_visible (inherited from Control)True if this control is visible, false if it is hidden.

Events

ID_clickEvent handler called when the button is clicked.
ID_mouseDown (inherited from Control)Event handler called when a mouse button is pressed down.
ID_mouseMove (inherited from Control)Event handler called when the mouse is moved.
ID_mouseOut (inherited from Control)Event handler called when a leaves a control.
ID_mouseOver (inherited from Control)Event handler called when a mouse moves over a control.
ID_mouseUp (inherited from Control)Event handler called when a mouse button is released.

Methods

acceptsDrop (inherited from Control)Called to determine if this control will accept a drop.
addBinding (inherited from Control)Adds a databinding between a property on this object and a binding path.
addBindingEx (inherited from Control)Extended entry point for adding a binding.
addCalculatedBinding (inherited from Control)Adds a calculated binding for a property.
addChild (inherited from ContainerControl)Add a child control to this ContainerControl.
addClassName (inherited from Control)Adds a CSS class to this controls "class" attribute
addEventHandler (inherited from SitedObject)Adds a delegate to be called when the specified eventId occurs on this object.
animateEx (inherited from Control)Animates a property to a value.
blur (inherited from Control)Tells this control's peer to relinquish keyboard focus.
bubble (inherited from Control)Bubbles a message up the control hierarchy - calls onBubbleEvent on this control and each of its parents.
captureMouse (inherited from Control)Register a control to receive mouse move/up events
construct (inherited from Control)Used to initialize a markup control.
equals (inherited from SitedObject)Tests if two objects are equal.
fireEventHandler (inherited from SitedObject)Invokes any user event handlers registered for a particular event using SitedObject.addEventHandler().
focus (inherited from Control)Tells this control's peer to request keyboard focus.
getBindingContainer (inherited from Control)Gets this object's nearest enclosing binding container.
getBindingStatus (inherited from SitedObject)Provides debugging information on bindings for this object.
getChild (inherited from ContainerControl)Gets the n'th child
getEventMask (inherited from Control)Gets an object indicating which peer events this control is interested in.
getParent (inherited from Control)Gets the parent Control of this control.
getPathValue (inherited from SitedObject)Traverses a binding path and returns the value at the end of it.
getPeer (inherited from Control)Gets the peer DOM element associated with this control.
getPeerForParent (inherited from Control)Gets the peer element of this control that the parent control should use in DOM manipulations.
getPropertyInfo (inherited from SitedObject)Gets information on a property.
getResource (inherited from Control)Given the ID of a resource, returns the resource's value.
getSite (inherited from SitedObject)Gets this object's site.
getTagName(Override) Gets the Html element tag used by this button control.
getTextGets the text shown in the button.
getValue (inherited from Control)Gets a property, style or attribute.
getViewState (inherited from Control) Retrieve any viewstate that has been saved for this control in a previous session.
getViewStateId (inherited from Control) Get a unique and consistent viewstateId for this control.
invalidateLayout (inherited from Control)Tells the layout system to redo layout.
modifyDOM (inherited from ContainerControl)Called to manipulate the DOM peer node of this control.
onBubbleEvent (inherited from Control)Called to handle a bubbled event.
onClickCalled when the button is clicked to fire an ID_click event.
onDragEvent (inherited from Control)Called to handle a drag drop event..
onFirstRender (inherited from Control)Called the first time a control is rendered.
onPeerCreated (inherited from Control)Called when a peer is created.
onPeerEvent (inherited from Control)Called to dispatch low level events that arise in the Dom.
onSetValue (inherited from ContainerControl)Called by SitedObject.setValue() when a property value is set on this object.
onSited (inherited from SitedObject)Called when this object is sited.
onSitedRoot (inherited from Control)Called when a control is added to the main control tree.
onUnsited (inherited from SitedObject)Called when this object is about to lose its site.
onUnsitedRoot (inherited from Control)Called when a control is removed from the main control tree.
onValueSited (inherited from ContainerControl)Called when an object is sited within this object.
onValueUnsited (inherited from ContainerControl)Called when an object is about to be unsited in this.
onViewStateChanged (inherited from Control) Overridable. Controls implement this method to update their viewstate.
rebuildInnerHtml (inherited from ContainerControl)Updates this controls innerHTML.
reflectOnBoundValue (inherited from Control)Gets runtime reflection information on an underlying bound object.
removeChild (inherited from ContainerControl)Remove a child control from this ContainerControl.
removeClassName (inherited from Control)Removes a CSS class from this controls "class" attribute
removeEventHandler (inherited from SitedObject)Remove an existing delegate from the list of delegates for the specified event.
render (inherited from Control)Places the Html representation of this control into the htmlBuilder.
renderAttributes (inherited from Control)Called by Control.render() to render attributes for this control.
renderChildren (inherited from ContainerControl)Places the Html markup for all the Control inside this control into the htmlBuilder.
setBounds (inherited from Control)Convenience method to set the left/top/width/height of an element.
setInitialValues (inherited from SitedObject)Sets multiple property values on an object (during initialization only)
setPathValue (inherited from SitedObject)Traverses a binding path and sets the value at the end of it.
setTextSets the text shown in the label.
setValue (inherited from Control)Sets a property, style or attribute.
setViewState (inherited from Control) Save viewstate that should persist across sessions.
startAnimator (inherited from Control)Starts an animation.
startDragDrop (inherited from Control)Start a drag drop operation.
stopAnimator (inherited from Control)Stops an animation.
toString (inherited from SitedObject)Returns a string representation of this object.

ButtonControl getTagName method (override)

Gets the Html element tag used by this button control.

JavaScript

var strVal = buttonControl.getTagName()

Remarks

If ID_tagName is set, this returns the value of ID_tagName. Otherwise, if ID_isLink is true, this returns "a". Otherwise, if the control has any child elements, this returns "button". Otherwise it returns "input".

Returns

An HTML element tag name string.

Base Implementation

ButtonControl getText method

Gets the text shown in the button.

JavaScript

var strVal = buttonControl.getText()

Remarks

The text is used when the control has no child elements.

Returns

The text string.

See Also

ButtonControl ID_bubbleEvent property

The event this button bubbles up when it is clicked.

JavaScript

var strVal = buttonControl.getValue(ID_bubbleEvent)
buttonControl.setValue(ID_bubbleEvent, strVal)

Xml

<j:Button bubbleEvent="string"  ... >

Remarks

Set this to the event Id name you wish the button to bubble up the control hierarchy when it is clicked.

Example

In Xml, writing:

<j:Button bubbleEvent="selectItem" text="Button"/>

creates a button that, when clicked, bubbles an ID_selectItem event - telling its nearest List container to select the item corresponding to the button that was clicked.

In JavaScript, to set ID_bubbleEvent, you write:

var btn = new ButtonControl();
btn.setValue(ID_bubbleEvent, ID_selectItem);
...

ButtonControl ID_click event

Event handler called when the button is clicked.

JavaScript

buttonControl.addEventHandler(ID_click, new Delegate(obj, func))

Xml

<j:Button click="alert('click happened')" ... >

Example

In Xml, writing:

<j:Button click="alert('hello');" text="Foo"/>

creates a click event handler on the button. When the button is clicked, an alert pops up saying 'hello'.

In JavaScript, you write:

// create a click function
function myClick() { alert('Hello'); }

// create a button
var btn = new ButtonControl();

// register myClick as an event handler for the button
btn.addEventHandler(ID_click, new Delegate(btn, myClick));

ButtonControl ID_enabled property

True if the user can click on this button, false otherwise.

JavaScript

var boolVal = buttonControl.getValue(ID_enabled)
buttonControl.setValue(ID_enabled, boolVal)

Xml

<j:Button enabled="true"  ... >
or
<j:Button enabled="false" ... >

ButtonControl ID_isLink property

Set to true to render this button as an HTML anchor.

JavaScript

var boolVal = buttonControl.getValue(ID_isLink)
buttonControl.setValue(ID_isLink, boolVal)

Xml

<j:Button isLink="true"  ... >
or
<j:Button isLink="false" ... >

Remarks

When ID_isLink is true, the button control renders as <a onclick="..."> ID_text or children here ... </a>.

When ID_isLink is false, if the button has any children, the button renders as <span onclick="...">{children}</span>. If the button has no children, it renders as <input type="button" value="{text}">.

ButtonControl ID_text property

The text label to show in the button. If the button has child elements, the ID_text property is ignored.

JavaScript

var strVal = buttonControl.getValue(ID_text)
buttonControl.setValue(ID_text, strVal)

Xml

<j:Button text="string"  ... >

ButtonControl onClick method

Called when the button is clicked to fire an ID_click event.

JavaScript

buttonControl.onClick(eventArgs)

Remarks

This method uses SitedObject.fireEventHandler() to fire an ID_click event. Subsequently, it looks at the ID_bubbleEvent property - if ID_bubbleEvent is non-null, the specified bubble event name is raised using SitedObject.bubbleEvent().

ButtonControl setText method

Sets the text shown in the label.

JavaScript

buttonControl.setText(str)

Remarks

The text is only used if the control has child elements.

See Also