Вы можете попробовать удалить '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.
Спасибо, Но ваш ответ не правильный, у меня нет модели для него, так как вы сказали, что я удаляю '' model '=> null', но $ _POST [' position '] пуст .... – shgnInc
@ Shgn.ir: Я обновил свой ответ. Пожалуйста, взгляните на это! – secretlm
Да, я действительно уверен в методе формы post, потому что у меня есть другие поля, которые правильно отправляются. 'echo CHtml :: beginForm ($ this-> createUrl ('create', array ('form' => $ form_id)), 'post', array ('id' => 'form-id',));' – shgnInc