PHP Class Prado\Web\UI\WebControls\TButton

TButton creates a click button on the page. It is mainly used to submit data to a page. TButton raises two server-side events, {@link onClick OnClick} and {@link onCommand OnCommand}, when it is clicked on the client-side. The difference between these two events is that the event {@link onCommand OnCommand} is bubbled up to the button's ancestor controls. And within the event parameter for {@link onCommand OnCommand} contains the reference to the {@link setCommandName CommandName} and {@link setCommandParameter CommandParameter} property values that are set for the button object. This allows you to create multiple TButton components on a Web page and programmatically determine which one is clicked with what parameter. Clicking on button can also trigger form validation, if {@link setCausesValidation CausesValidation} is true. The validation may be restricted within a certain group of validator controls by setting {@link setValidationGroup ValidationGroup} property. If validation is successful, the data will be post back to the same page. TButton displays the {@link setText Text} property as the button caption. TButton can be one of three {@link setButtonType ButtonType}: Submit, Button and Reset. By default, it is a Submit button and the form submission uses the browser's default submission capability. If it is Button or Reset, postback may occur if one of the following conditions is met: - an event handler is attached to {@link onClick OnClick} event; - an event handler is attached to {@link onCommand OnCommand} event; - the button is in a non-empty validation group. In addition, clicking on a Reset button will clear up all input fields if the button does not cause a postback.
Since: 3.0
Author: Qiang Xue ([email protected])
Inheritance: extends TWebControl, implements Prado\Web\UI\IPostBackEventHandler, implements Prado\Web\UI\IButtonControl, implements Prado\IDataRenderer
Show file Open project: pradosoft/prado Class Usage Examples

Public Methods

Method Description
getButtonTag ( ) : TButtonTag
getButtonType ( ) : TButtonType
getCausesValidation ( ) : boolean
getCommandName ( ) : string
getCommandParameter ( ) : string
getData ( ) : string Returns the caption of the button.
getEnableClientScript ( ) : boolean
getIsDefaultButton ( ) : boolean
getText ( ) : string
getValidationGroup ( ) : string
onClick ( $param ) This method is invoked when the button is clicked.
onCommand ( $param ) This method is invoked when the button is clicked.
raisePostBackEvent ( $param ) Raises the postback event.
renderContents ( $writer ) Renders the body content enclosed between the control tag.
setButtonTag ( $value )
setButtonType ( $value )
setCausesValidation ( $value )
setCommandName ( $value )
setCommandParameter ( $value )
setData ( $value ) Sets the caption of the button.
setEnableClientScript ( $value )
setIsDefaultButton ( $value )
setText ( $value )
setValidationGroup ( $value )

Protected Methods

Method Description
addAttributesToRender ( $writer ) Adds attribute name-value pairs to renderer.
canCauseValidation ( ) : boolean
getClientClassName ( ) : string Gets the name of the javascript class responsible for performing postback for this control.
getPostBackOptions ( ) : array Returns postback specifications for the button.
getTagName ( ) : string
needPostBackScript ( ) : boolean
renderClientControlScript ( $writer ) Renders the client-script code.

Method Details

addAttributesToRender() protected method

This overrides the parent implementation with additional button specific attributes.
protected addAttributesToRender ( $writer )

canCauseValidation() protected method

protected canCauseValidation ( ) : boolean
return boolean whether to perform validation if the button is clicked

getButtonTag() public method

public getButtonTag ( ) : TButtonTag
return TButtonTag the tag name of the button. Defaults to TButtonType::Input.

getButtonType() public method

public getButtonType ( ) : TButtonType
return TButtonType the type of the button. Defaults to TButtonType::Submit.

getCausesValidation() public method

public getCausesValidation ( ) : boolean
return boolean whether postback event trigger by this button will cause input validation, default is true

getClientClassName() protected method

This method overrides the parent implementation.
protected getClientClassName ( ) : string
return string the javascript class name

getCommandName() public method

public getCommandName ( ) : string
return string the command name associated with the {@link onCommand OnCommand} event.

getCommandParameter() public method

public getCommandParameter ( ) : string
return string the parameter associated with the {@link onCommand OnCommand} event

getData() public method

This method is required by {@link \Prado\IDataRenderer}. It is the same as {@link getText()}.
See also: getText
Since: 3.1.0
public getData ( ) : string
return string caption of the button.

getEnableClientScript() public method

public getEnableClientScript ( ) : boolean
return boolean whether to render javascript.

getIsDefaultButton() public method

public getIsDefaultButton ( ) : boolean
return boolean true if this button is registered as a default button for a panel.

getPostBackOptions() protected method

This method is used by framework and control developers.
protected getPostBackOptions ( ) : array
return array parameters about how the button defines its postback behavior.

getTagName() protected method

protected getTagName ( ) : string
return string tag name of the button

getText() public method

public getText ( ) : string
return string caption of the button

getValidationGroup() public method

public getValidationGroup ( ) : string
return string the group of validators which the button causes validation upon postback

needPostBackScript() protected method

protected needPostBackScript ( ) : boolean
return boolean whether the button needs javascript to do postback

onClick() public method

The method raises 'OnClick' event to fire up the event handlers. If you override this method, be sure to call the parent implementation so that the event handler can be invoked.
public onClick ( $param )

onCommand() public method

The method raises 'OnCommand' event to fire up the event handlers. If you override this method, be sure to call the parent implementation so that the event handlers can be invoked.
public onCommand ( $param )

raisePostBackEvent() public method

This method is required by {@link IPostBackEventHandler} interface. If {@link getCausesValidation CausesValidation} is true, it will invoke the page's {@link TPage::validate validate} method first. It will raise {@link onClick OnClick} and {@link onCommand OnCommand} events. This method is mainly used by framework and control developers.
public raisePostBackEvent ( $param )

renderClientControlScript() protected method

Renders the client-script code.
protected renderClientControlScript ( $writer )

renderContents() public method

This overrides the parent implementation with nothing to be rendered for input tags, button tags are rendered normally.
public renderContents ( $writer )

setButtonTag() public method

public setButtonTag ( $value )

setButtonType() public method

public setButtonType ( $value )

setCausesValidation() public method

public setCausesValidation ( $value )

setCommandName() public method

public setCommandName ( $value )

setCommandParameter() public method

public setCommandParameter ( $value )

setData() public method

This method is required by {@link \Prado\IDataRenderer}. It is the same as {@link setText()}.
See also: setText
Since: 3.1.0
public setData ( $value )

setEnableClientScript() public method

public setEnableClientScript ( $value )

setIsDefaultButton() public method

public setIsDefaultButton ( $value )

setText() public method

public setText ( $value )

setValidationGroup() public method

public setValidationGroup ( $value )