CMaskedTextField
包 | system.web.widgets |
---|---|
继承 | class CMaskedTextField » CInputWidget » CWidget » CBaseController » CComponent |
可用自 | 1.0 |
源码 | framework/web/widgets/CMaskedTextField.php |
CMaskedTextField generates a masked text field.
CMaskedTextField is similar to CHtml::textField except that an input mask will be used to help users enter properly formatted data. The masked text field is implemented based on the jQuery masked input plugin (see http://digitalbush.com/projects/masked-input-plugin).
CMaskedTextField is similar to CHtml::textField except that an input mask will be used to help users enter properly formatted data. The masked text field is implemented based on the jQuery masked input plugin (see http://digitalbush.com/projects/masked-input-plugin).
公共属性
属性 | 类型 | 描述 | 被定义在 |
---|---|---|---|
actionPrefix | string | the prefix to the IDs of the actions. | CWidget |
attribute | string | the attribute associated with this widget. | CInputWidget |
charMap | array | the mapping between mask characters and the corresponding patterns. | CMaskedTextField |
completed | string | a JavaScript function callback that will be invoked when user finishes the input. | CMaskedTextField |
controller | CController | Returns the controller that this widget belongs to. | CWidget |
htmlOptions | array | additional HTML options to be rendered in the input tag | CInputWidget |
id | string | Returns the ID of the widget or generates a new one if requested. | CWidget |
mask | string | the input mask (e.g. '99/99/9999' for date input). | CMaskedTextField |
model | CModel | the data model associated with this widget. | CInputWidget |
name | string | the input name. | CInputWidget |
owner | CBaseController | Returns the owner/creator of this widget. | CWidget |
placeholder | string | the character prompting for user input. | CMaskedTextField |
skin | mixed | the name of the skin to be used by this widget. | CWidget |
value | string | the input value | CInputWidget |
viewPath | string | Returns the directory containing the view files for this widget. | CWidget |
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__call() | Calls the named method which is not a class method. | CComponent |
__construct() | Constructor. | CWidget |
__get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent |
__isset() | Checks if a property value is null. | CComponent |
__set() | Sets value of a component property. | CComponent |
__unset() | Sets a component property to be null. | CComponent |
actions() | Returns a list of actions that are used by this widget. | CWidget |
asa() | Returns the named behavior object. | CComponent |
attachBehavior() | Attaches a behavior to this component. | CComponent |
attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
attachEventHandler() | Attaches an event handler to an event. | CComponent |
beginCache() | Begins fragment caching. | CBaseController |
beginClip() | Begins recording a clip. | CBaseController |
beginContent() | Begins the rendering of content that is to be decorated by the specified view. | CBaseController |
beginWidget() | Creates a widget and executes it. | CBaseController |
canGetProperty() | Determines whether a property can be read. | CComponent |
canSetProperty() | Determines whether a property can be set. | CComponent |
createWidget() | Creates a widget and initializes it. | CBaseController |
detachBehavior() | Detaches a behavior from the component. | CComponent |
detachBehaviors() | Detaches all behaviors from the component. | CComponent |
detachEventHandler() | Detaches an existing event handler. | CComponent |
disableBehavior() | Disables an attached behavior. | CComponent |
disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
enableBehavior() | Enables an attached behavior. | CComponent |
enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
endCache() | Ends fragment caching. | CBaseController |
endClip() | Ends recording a clip. | CBaseController |
endContent() | Ends the rendering of content. | CBaseController |
endWidget() | Ends the execution of the named widget. | CBaseController |
evaluateExpression() | Evaluates a PHP expression or callback under the context of this component. | CComponent |
getController() | Returns the controller that this widget belongs to. | CWidget |
getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
getId() | Returns the ID of the widget or generates a new one if requested. | CWidget |
getOwner() | Returns the owner/creator of this widget. | CWidget |
getViewFile() | Looks for the view script file according to the view name. | CWidget |
getViewPath() | Returns the directory containing the view files for this widget. | CWidget |
hasEvent() | Determines whether an event is defined. | CComponent |
hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
hasProperty() | Determines whether a property is defined. | CComponent |
init() | Initializes the widget. | CWidget |
raiseEvent() | Raises an event. | CComponent |
registerClientScript() | Registers the needed CSS and JavaScript. | CMaskedTextField |
render() | Renders a view. | CWidget |
renderFile() | Renders a view file. | CBaseController |
renderInternal() | Renders a view file. | CBaseController |
run() | Executes the widget. | CMaskedTextField |
setId() | Sets the ID of the widget. | CWidget |
widget() | Creates a widget and executes it. | CBaseController |
受保护的方法
方法 | 描述 | 被定义在 |
---|---|---|
getClientOptions() | Returns the options for the text field | CMaskedTextField |
hasModel() | Determines whether this widget is associated with a data model. | CInputWidget |
resolveNameID() | CInputWidget |
属性详情
charMap
属性
public array $charMap;
the mapping between mask characters and the corresponding patterns. For example, array('~'=>'[+-]') specifies that the '~' character expects '+' or '-' input. Defaults to null, meaning using the map as described in mask.
clientOptions
属性
只读
protected array getClientOptions()
the options for the text field
completed
属性
public string $completed;
a JavaScript function callback that will be invoked when user finishes the input.
mask
属性
public string $mask;
the input mask (e.g. '99/99/9999' for date input). The following characters are predefined:
- a: represents an alpha character (A-Z,a-z).
- 9: represents a numeric character (0-9).
- *: represents an alphanumeric character (A-Z,a-z,0-9).
- ?: anything listed after '?' within the mask is considered optional user input.
placeholder
属性
public string $placeholder;
the character prompting for user input. Defaults to underscore '_'.
方法详情
getClientOptions()
方法
protected array getClientOptions()
| ||
{return} | array | the options for the text field |
源码: framework/web/widgets/CMaskedTextField.php#98 (显示)
protected function getClientOptions()
{
$options=array();
if($this->placeholder!==null)
$options['placeholder']=$this->placeholder;
if($this->completed!==null)
{
if($this->completed instanceof CJavaScriptExpression)
$options['completed']=$this->completed;
else
$options['completed']=new CJavaScriptExpression($this->completed);
}
return $options;
}
registerClientScript()
方法
public void registerClientScript()
|
源码: framework/web/widgets/CMaskedTextField.php#80 (显示)
public function registerClientScript()
{
$id=$this->htmlOptions['id'];
$miOptions=$this->getClientOptions();
$options=$miOptions!==array() ? ','.CJavaScript::encode($miOptions) : '';
$js='';
if(is_array($this->charMap))
$js.='jQuery.mask.definitions='.CJavaScript::encode($this->charMap).";\n";
$js.="jQuery(\"#{$id}\").mask(\"{$this->mask}\"{$options});";
$cs=Yii::app()->getClientScript();
$cs->registerCoreScript('maskedinput');
$cs->registerScript('Yii.CMaskedTextField#'.$id,$js);
}
Registers the needed CSS and JavaScript.
run()
方法
public void run()
|
源码: framework/web/widgets/CMaskedTextField.php#56 (显示)
public function run()
{
if($this->mask=='')
throw new CException(Yii::t('yii','Property CMaskedTextField.mask cannot be empty.'));
list($name,$id)=$this->resolveNameID();
if(isset($this->htmlOptions['id']))
$id=$this->htmlOptions['id'];
else
$this->htmlOptions['id']=$id;
if(isset($this->htmlOptions['name']))
$name=$this->htmlOptions['name'];
$this->registerClientScript();
if($this->hasModel())
echo CHtml::activeTextField($this->model,$this->attribute,$this->htmlOptions);
else
echo CHtml::textField($name,$this->value,$this->htmlOptions);
}
Executes the widget. This method registers all needed client scripts and renders the text field.