您可以尝试删除 'model' => null
:
<?php echo CHtml::label(Yii::t('models', 'form.label.position'), 'position'); ?>
<?php
$this->widget('CMaskedTextField', array(
'name' => "position",
'mask' => '999',
'htmlOptions' => array(
'size' => 5,
'placeholder' => Yii::t('models', 'form.hint.position'),
'title' => Yii::t('models', 'form.hint.position'),
),
));
?>
在您的小部件中,如果您想使用您的model
那么您应该删除name
并添加attribute
.
更新
在我的表格中:我有这样的表格视图:
<?php echo CHtml::beginForm('post/test', 'post'); ?>
<?php echo CHtml::errorSummary($model); ?>
<div class="row">
<?php echo CHtml::label(Yii::t('models', 'form.label.position'), 'position'); >
<?php
$this->widget('CMaskedTextField', array(
'name' => "position",
'mask' => '999',
'htmlOptions' => array(
'size' => 5,
'placeholder' => 'place holder',
'title' => 'title'
),
));
?>
</div>
<div class="row submit">
<?php echo CHtml::submitButton('test'); ?>
</div>
<?php echo CHtml::endForm(); ?>
而且我还有一个 PostController 包含test
以下操作:
public function actionTest()
{
var_dump($_POST);
}
它工作正常。
array (size=2)
'position' => string '234' (length=3)
'yt0' => string 'test' (length=4)
因此,请确保您的表单是通过 POST 方法发送的,并且在您填写 maskedTextField 后提交。