我正在尝试使用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创建具有文件上载功能的多部分表单吗?我应该遵循的格式是什么?我似乎无法在文档或论坛中找到任何答案。
谢谢!
答案 0 :(得分:17)
没关系。我找到了解决方案。诀窍是使用像这样的htmlOptions:
$this->beginWidget('CActiveForm', array(
'id'=>'activity_form',
'enableAjaxValidation'=>true,
'stateful'=>true,
'htmlOptions'=>array('enctype' => 'multipart/form-data')
));