2013-11-27 17 views
1

我的表單中有CMaskedTextField,當我填充它時,$ _POST []不會爲它返回任何值!?Chtml Cmaskedtextfield不發送任何值?

<?php echo CHtml::label(Yii::t('models', 'form.label.position'), 'position'); ?> 
    <?php 
    $this->widget('CMaskedTextField', array(
      'model' => null, 
      'name' => "position", 
      'mask' => '999', 
      'htmlOptions' => array(
      'size' => 5, 
      'placeholder' => Yii::t('models', 'form.hint.position'), 
      'title' => Yii::t('models', 'form.hint.position'), 
      ), 
    )); 
    ?> 

回答

0

你可以嘗試刪除'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(); ?> 

而且我也有一個包含test動作就像一個PostController中:

public function actionTest() 
    {  
     var_dump($_POST); 
    } 

它工作正常。

array (size=2) 
    'position' => string '234' (length=3) 
    'yt0' => string 'test' (length=4) 

所以請確保您的表單是通過POST方法發送的,並且在您填充maskedTextField後提交。

+0

謝謝,但你的答案不正確,我沒有任何模型,所以你說我刪除''model'=> null'但是$ _POST ['position']爲空... – shgnInc

+0

@ Shgn.ir:我更新了我的答案。請看看它! – secretlm

+0

是的,我真的很確定表單的方法是post,因爲我有一些其他的字段被它正確地發送。 'echo CHtml :: beginForm($ this-> createUrl('create',array('form'=> $ form_id)),'post',array('id'=>'form-id',));'' – shgnInc