【问题标题】:Attach file using ajax button in Yii在 Yii 中使用 ajax 按钮附加文件
【发布时间】:2014-01-23 17:11:36
【问题描述】:

我需要使用 ajax 按钮上传文件。当我在 yii 中使用具有相同控制器操作的简单 CHTML 按钮时,文件上传运行良好。但是使用 ajax 按钮我无法保存上传的文件。

这是我的表格:

    <?php echo CHtml::form('Mes', 'post', array('id' => 'frm', 'enctype' => 'multipart/form-data')); ?>
    <?php echo CHtml::textArea('Message', '', array('maxlength' => 500, 'id' => 'messagetextarea1', 'rows' => 6, 'cols' => 50)); ?>
<?php echo CHtml::fileField('attach', '', array('size' => 55, 'maxlength' => 55)); ?>
<?php
  // echo CHtml::button('save',array('submit'=>'/mailbox/message/save'));   -   simple button working fine

      echo CHtml::ajaxSubmitButton('Send', CHtml::normalizeUrl(array('/mailbox/message/save', 'render' => true)), array(
                                        'dataType' => 'json',
                                        'type' => 'post',

                                            ));
                                            ?>
<?php echo CHtml::endForm(); ?>

控制器:

if (isset($_POST['Message']))
    {
       $model = new Message;
        //echo $_POST['Message'];
        //echo $_POST['Text'];
         $model->attachments = CUploadedFile::getInstanceByName('attach', 'attachments');
        Yii::app()->user->setState('attachmnt',$model->attachments);
        $uploadfile = $model->attachments;
        if ($uploadfile->saveAs(dirname(Yii::app()->basePath) . '/images/' . $uploadfile))
        {
            echo "saved";
        }
        $model->save();
}

如何使用 ajax 保存附件?

【问题讨论】:

标签: php jquery ajax yii


【解决方案1】:

据我所知 Yii ajax 按钮不支持文件上传,如果你想上传 ajax 文件可以使用“jquery 文件上传”http://www.yiiframework.com/extension/xupload

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 2013-04-04
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    相关资源
    最近更新 更多