2010-08-31 84 views
1

我想用Yii的ActiveForm創建一個帶有圖片上傳字段的基本註冊頁面。但是,我遇到了問題。我使用下面的代碼來創建窗體標籤:用Yii的ActiveForm上傳文件

$form=$this->beginWidget('CActiveForm', array(
           'id'=>'activity_form', 
           'enableAjaxValidation'=>true, 
           'stateful'=>true, 
           'enctype'=>'multipart/form-data' 
           )); 

上面的代碼產生以下錯誤消息的Yii:

屬性「CActiveForm.enctype」沒有定義

我已經也試過:

$form=$this->beginWidget('CActiveForm', array(
           'id'=>'activity_form', 
           'enableAjaxValidation'=>true, 
           'stateful'=>true, 
           array('enctype'=>'multipart/form-data'))); 

還有:

$form=$this->beginWidget('CActiveForm', array(
           'id'=>'activity_form', 
           'enableAjaxValidation'=>true, 
           'stateful'=>true), 
           array('enctype'=>'multipart/form-data'))); 

但這些都沒有工作。

關於什麼可能是錯誤的任何想法?我可以使用beginWidget創建具有文件上傳功能的多部分表單嗎?我應該遵循什麼格式?我似乎無法在文檔或論壇中找到任何答案。

謝謝!

回答

17

沒關係。我找到了解決辦法。訣竅是使用htmlOptions像這樣:

$this->beginWidget('CActiveForm', array(
    'id'=>'activity_form', 
    'enableAjaxValidation'=>true, 
    'stateful'=>true, 
    'htmlOptions'=>array('enctype' => 'multipart/form-data') 
));