## Class TTextBox

Description

Implements interfaces:

- IPostBackDataHandler
- IValidatable

TTextBox class

TTextBox displays a text box on the Web page for user input. The text displayed in the TTextBox control is determined by the Text property. You can create a SingleLine, a MultiLine, or a Password text box by setting the TextMode property. If the TTextBox control is a multiline text box, the number of rows it displays is determined by the Rows property, and the Wrap property can be used to determine whether to wrap the text in the component.

To specify the display width of the text box, in characters, set the Columns property. To prevent the text displayed in the component from being modified, set the ReadOnly property to true. If you want to limit the user input to a specified number of characters, set the MaxLength property. To use AutoComplete feature, set the AutoCompleteType property.

If AutoPostBack is set true, updating the text box and then changing the focus out of it will cause postback action. And if CausesValidation is true, validation will also be processed, which can be further restricted within a ValidationGroup.

WARNING: Be careful if you want to display the text collected via TTextBox. Malicious cross-site script may be injected in. You may use SafeText to prevent this problem.

NOTE: If you set Wrap to false or use AutoCompleteType, the generated HTML output for the textbox will not be XHTML-compatible. Currently, no alternatives are available.

- since: 3.0
- version: $Revision: $ $Date: $
- author: Qiang Xue <qiang.xue@gmail.com>

Located in /Web/UI/WebControls/TTextBox.php (line 51)

    TComponent
       |
       --TApplicationComponent
          |
          --TControl
             |
             --TWebControl
                |
                --TTextBox

Direct descendents

Class | Description
--- | ---
TColorPicker | TColorPicker class.
TDatePicker | TDatePicker class.
THtmlArea | THtmlArea class

Class Constant Summary
DEFAULT_COLUMNS = 20
DEFAULT_ROWS = 4
Method Summary
void addAttributesToRender (THtmlWriter $writer)
string getAutoCompleteType ()
boolean getAutoPostBack ()
boolean getAutoTrim ()
boolean getCausesValidation ()
integer getColumns ()
integer getMaxLength ()
array getPostBackOptions ()
boolean getReadOnly ()
integer getRows ()
string getSafeText ()
mixed getSafeTextParser ()
string getTagName ()
string getText ()
string getTextMode ()
string getValidationGroup ()
mixed getValidationPropertyValue ()
boolean getWrap ()
boolean loadPostData (string $key, array $values)
void onTextChanged (TEventParameter $param)
void raisePostDataChangedEvent ()
void renderContents (THtmlWriter $writer)
void setAutoCompleteType (string $value)
void setAutoPostBack (boolean $value)
void setAutoTrim (boolean $value)
void setCausesValidation (boolean $value)
void setColumns (integer $value)
void setMaxLength (integer $value)
void setReadOnly (boolean $value)
void setRows (integer $value)
void setText (string $value)
void setTextMode (string $value)
void setValidationGroup (string $value)
void setWrap (boolean $value)
Methods
addAttributesToRender (line 87)

Adds attribute name-value pairs to renderer.

This method overrides the parent implementation with additional textbox specific attributes.

- access: protected

void addAttributesToRender (THtmlWriter $writer)

- THtmlWriter $writer: the writer used for the rendering purpose

Redefinition of:

TWebControl::addAttributesToRender()
  Adds attribute name-value pairs to renderer.

Redefined in descendants as:

- TColorPicker::addAttributesToRender() : Registers the javascript code to initialize the color picker.
- TDatePicker::addAttributesToRender() : Add the client id to the input textbox, and register the client scripts.
- THtmlArea::addAttributesToRender() : Adds attribute name-value pairs to renderer.

getAutoCompleteType (line 238)

- return: the AutoComplete type of the textbox
- access: public

string getAutoCompleteType ()
getAutoPostBack (line 264)

- return: a value indicating whether an automatic postback to the server will occur whenever the user modifies the text in the TTextBox control and then tabs out of the component. Defaults to false.
- access: public

boolean getAutoPostBack ()

Redefined in descendants as:

- THtmlArea::getAutoPostBack()

getAutoTrim (line 283)

- return: a value indicating whether the input text should be trimmed spaces. Defaults to false.
- access: public

boolean getAutoTrim ()
getCausesValidation (line 300)

- return: whether postback event trigger by this text box will cause input validation, default is true.
- access: public

boolean getCausesValidation ()
getColumns (line 316)

- return: the display width of the text box in characters, default is 0 meaning not set.
- access: public

integer getColumns ()
getMaxLength (line 333)

- return: the maximum number of characters allowed in the text box, default is 0 meaning not set.
- access: public

integer getMaxLength ()
getPostBackOptions (line 157)

Gets the post back options for this textbox.

- access: protected

array getPostBackOptions ()
getReadOnly (line 350)

- return: whether the textbox is read only, default is false.
- access: public

boolean getReadOnly ()
getRows (line 366)

- return: the number of rows displayed in a multiline text box, default is 4
- access: public

integer getRows ()
getSafeText (line 401)

- return: safe text content with javascript stripped off
- access: public

string getSafeText ()
getSafeTextParser (line 411)

- return: safe text parser
- access: protected

mixed getSafeTextParser ()
getTagName (line 77)

- return: tag name of the textbox
- access: protected

string getTagName ()

Redefinition of:

TWebControl::getTagName()
  Returns the tag name used for this control.

getText (line 383)

- return: the text content of the TTextBox control.
- access: public

string getText ()
getTextMode (line 421)

- return: the behavior mode (SingleLine, MultiLine, or Password) of the TTextBox component. Defaults to SingleLine.
- access: public

string getTextMode ()

Redefined in descendants as:

- THtmlArea::getTextMode() : Overrides the parent implementation.

getValidationGroup (line 439)

- return: the group of validators which the text box causes validation upon postback
- access: public

string getValidationGroup ()
getValidationPropertyValue (line 193)

Returns the value to be validated.

This methid is required by IValidatable interface.

- return: the value of the property to be validated.
- access: public

mixed getValidationPropertyValue ()

Redefined in descendants as:

- TDatePicker::getValidationPropertyValue() : Returns the value to be validated.

getWrap (line 455)

- return: whether the text content wraps within a multiline text box. Defaults to true.
- access: public

boolean getWrap ()
loadPostData (line 174)

Loads user input data.

This method is primarly used by framework developers.

- return: whether the data of the component has been changed
- access: public

boolean loadPostData (string $key, array $values)

- string $key: the key that can be used to retrieve data from the input data collection
- array $values: the input data collection

Redefined in descendants as:

- TDatePicker::loadPostData() : Loads user input data. Override parent implementation, when InputMode is DropDownList call getDateFromPostData to get date data.

onTextChanged (line 206)

Raises OnTextChanged event.

This method is invoked when the value of the Text property changes on postback. If you override this method, be sure to call the parent implementation to ensure the invocation of the attached event handlers.

- access: public

void onTextChanged (TEventParameter $param)

- TEventParameter $param: event parameter to be passed to the event handlers

raisePostDataChangedEvent (line 218)

Raises postdata changed event.

This method is required by IPostBackDataHandler interface. It is invoked by the framework when Text property is changed on postback. This method is primarly used by framework developers.

- access: public

void raisePostDataChangedEvent ()
renderContents (line 229)

Renders the body content of the textbox when it is in MultiLine text mode.

- access: public

void renderContents (THtmlWriter $writer)

- THtmlWriter $writer: the writer for rendering

Redefinition of:

TWebControl::renderContents()
  Renders the body content enclosed between the control tag.

setAutoCompleteType (line 254)

- access: public
- throws: TInvalidDataValueException if the input parameter is not a valid AutoComplete type

void setAutoCompleteType (string $value)

- string $value: the AutoComplete type of the textbox, default value is 'None'. Valid values include: 'BusinessCity','BusinessCountryRegion','BusinessFax','BusinessPhone', 'BusinessState','BusinessStreetAddress','BusinessUrl','BusinessZipCode', 'Cellular','Company','Department','Disabled','DisplayName','Email', 'FirstName','Gender','HomeCity','HomeCountryRegion','HomeFax','Homepage', 'HomePhone','HomeState','HomeStreetAddress','HomeZipCode','JobTitle', 'LastName','MiddleName','None','Notes','Office','Pager','Search'

setAutoPostBack (line 275)

Sets the value indicating if postback automatically.

An automatic postback to the server will occur whenever the user modifies the text in the TTextBox control and then tabs out of the component.

- access: public

void setAutoPostBack (boolean $value)

- boolean $value: the value indicating if postback automatically

setAutoTrim (line 292)

Sets the value indicating if the input text should be trimmed spaces

- access: public

void setAutoTrim (boolean $value)

- boolean $value: the value indicating if the input text should be trimmed spaces

setCausesValidation (line 308)

- access: public

void setCausesValidation (boolean $value)

- boolean $value: whether postback event trigger by this text box will cause input validation.

setColumns (line 325)

Sets the display width of the text box in characters.

- access: public

void setColumns (integer $value)

- integer $value: the display width, set it 0 to clear the setting

setMaxLength (line 342)

Sets the maximum number of characters allowed in the text box.

- access: public

void setMaxLength (integer $value)

- integer $value: the maximum length, set it 0 to clear the setting

setReadOnly (line 358)

- access: public

void setReadOnly (boolean $value)

- boolean $value: whether the textbox is read only

setRows (line 375)

Sets the number of rows displayed in a multiline text box.

- access: public

void setRows (integer $value)

- integer $value: the number of rows

setText (line 392)

Sets the text content of the TTextBox control.

- access: public

void setText (string $value)

- string $value: the text content

setTextMode (line 431)

Sets the behavior mode (SingleLine, MultiLine, or Password) of the TTextBox component.

- access: public
- throws: TInvalidDataValueException if the input value is not a valid text mode.

void setTextMode (string $value)

- string $value: the text mode

Redefined in descendants as:

- THtmlArea::setTextMode() : Overrides the parent implementation.

setValidationGroup (line 447)

- access: public

void setValidationGroup (string $value)

- string $value: the group of validators which the text box causes validation upon postback

setWrap (line 464)

Sets the value indicating whether the text content wraps within a multiline text box.

- access: public

void setWrap (boolean $value)

- boolean $value: whether the text content wraps within a multiline text box.

#### Inherited Methods

Inherited From TWebControl

> TWebControl::addAttributesToRender()
> TWebControl::copyBaseAttributes()
> TWebControl::createStyle()
> TWebControl::getAccessKey()
> TWebControl::getBackColor()
> TWebControl::getBorderColor()
> TWebControl::getBorderStyle()
> TWebControl::getBorderWidth()
> TWebControl::getCssClass()
> TWebControl::getFont()
> TWebControl::getForeColor()
> TWebControl::getHasStyle()
> TWebControl::getHeight()
> TWebControl::getStyle()
> TWebControl::getTabIndex()
> TWebControl::getTagName()
> TWebControl::getToolTip()
> TWebControl::getWidth()
> TWebControl::render()
> TWebControl::renderBeginTag()
> TWebControl::renderContents()
> TWebControl::renderEndTag()
> TWebControl::setAccessKey()
> TWebControl::setBackColor()
> TWebControl::setBorderColor()
> TWebControl::setBorderStyle()
> TWebControl::setBorderWidth()
> TWebControl::setCssClass()
> TWebControl::setForeColor()
> TWebControl::setHeight()
> TWebControl::setStyle()
> TWebControl::setTabIndex()
> TWebControl::setToolTip()
> TWebControl::setWidth()

Inherited From TControl

> TControl::__construct()
> TControl::addedControl()
> TControl::addParsedObject()
> TControl::applyStyleSheetSkin()
> TControl::autoBindProperty()
> TControl::autoDataBindProperties()
> TControl::bindProperty()
> TControl::broadcastEvent()
> TControl::broadcastEventInternal()
> TControl::bubbleEvent()
> TControl::clearChildState()
> TControl::clearControlState()
> TControl::clearNamingContainer()
> TControl::clearViewState()
> TControl::createChildControls()
> TControl::createControlCollection()
> TControl::createdOnTemplate()
> TControl::dataBind()
> TControl::dataBindChildren()
> TControl::dataBindProperties()
> TControl::ensureChildControls()
> TControl::findControl()
> TControl::findControlsByID()
> TControl::findControlsByType()
> TControl::focus()
> TControl::getAdapter()
> TControl::getAllowChildControls()
> TControl::getAttribute()
> TControl::getAttributes()
> TControl::getChildControlsCreated()
> TControl::getClientID()
> TControl::getControls()
> TControl::getControlStage()
> TControl::getControlState()
> TControl::getEnabled()
> TControl::getEnableTheming()
> TControl::getEnableViewState()
> TControl::getHasAdapter()
> TControl::getHasAttributes()
> TControl::getHasControls()
> TControl::getID()
> TControl::getNamingContainer()
> TControl::getPage()
> TControl::getParent()
> TControl::getRegisteredObject()
> TControl::getSkinID()
> TControl::getSourceTemplateControl()
> TControl::getTemplateControl()
> TControl::getUniqueID()
> TControl::getViewState()
> TControl::getVisible()
> TControl::hasAttribute()
> TControl::initRecursive()
> TControl::isDescendentOf()
> TControl::isObjectRegistered()
> TControl::loadRecursive()
> TControl::loadState()
> TControl::loadStateRecursive()
> TControl::onDataBinding()
> TControl::onInit()
> TControl::onLoad()
> TControl::onPreRender()
> TControl::onUnload()
> TControl::preRenderRecursive()
> TControl::raiseBubbleEvent()
> TControl::registerObject()
> TControl::removeAttribute()
> TControl::removedControl()
> TControl::render()
> TControl::renderChildren()
> TControl::renderControl()
> TControl::saveState()
> TControl::saveStateRecursive()
> TControl::setAdapter()
> TControl::setAttribute()
> TControl::setChildControlsCreated()
> TControl::setControlStage()
> TControl::setControlState()
> TControl::setEnabled()
> TControl::setEnableTheming()
> TControl::setEnableViewState()
> TControl::setID()
> TControl::setPage()
> TControl::setSkinID()
> TControl::setTemplateControl()
> TControl::setViewState()
> TControl::setVisible()
> TControl::traverseChildControls()
> TControl::unbindProperty()
> TControl::unloadRecursive()
> TControl::unregisterObject()
> TControl::__get()

Inherited From TApplicationComponent

> TApplicationComponent::getApplication()
> TApplicationComponent::getRequest()
> TApplicationComponent::getResponse()
> TApplicationComponent::getService()
> TApplicationComponent::getSession()
> TApplicationComponent::getUser()
> TApplicationComponent::publishAsset()
> TApplicationComponent::publishFilePath()

Inherited From TComponent

> TComponent::attachEventHandler()
> TComponent::canGetProperty()
> TComponent::canSetProperty()
> TComponent::detachEventHandler()
> TComponent::evaluateExpression()
> TComponent::evaluateStatements()
> TComponent::getEventHandlers()
> TComponent::getSubProperty()
> TComponent::hasEvent()
> TComponent::hasEventHandler()
> TComponent::hasProperty()
> TComponent::raiseEvent()
> TComponent::setSubProperty()
> TComponent::__get()
> TComponent::__set()

Class Constants
DEFAULT_COLUMNS = 20 (line 60)

Default number of columns (for MultiLine text box)

DEFAULT_ROWS = 4 (line 56)

Default number of rows (for MultiLine text box)

#### Inherited Constants

Inherited from TControl

Documentation generated on Sun, 04 Jun 2006 19:00:30 -0400 by phpDocumentor 1.3.0RC4