我想使用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创建文件上传功能的多形式?什么是我应该遵循这种格式?我似乎无法找到的文档或论坛中的任何答案。

谢谢!

有帮助吗?

解决方案

没关系。我找到了解决这个。关键是要使用htmlOptions像这样:

$this->beginWidget('CActiveForm', array(
  'id'=>'activity_form', 
  'enableAjaxValidation'=>true, 
  'stateful'=>true, 
  'htmlOptions'=>array('enctype' => 'multipart/form-data')
));
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top