如何删除"没有选择文件"在Yii的CMultiFileUpload中?

时间:2014-05-01 21:13:17

标签: yii cmultifileupload

刚开始学习Yii。我不知道如何更改按钮并删除小部件中的“未选择文件” Yii框架中的“CMultiFileUpload”?

$this->widget('CMultiFileUpload', array(
    'model'=>$model,
    'attribute'=>'photos',
    'accept'=>'jpg|jpeg|gif|png',
    'name'=>'photos',
    'remove'=>'remove',
    'options'=>array(
    ),
    'denied'=>'File is not allowed',
    'max'=>4, // max 10 files
));

1 个答案:

答案 0 :(得分:-1)

这取决于浏览器。防爆。 Mozilla 显示输入文件类型字段,其中包含"未选择文件"。在 IE 中它将会出现偏差。

如果您要隐藏消息"没有选择文件",请使用CSS

input[type='file'] 
{
    color: transparent;
}

如果您想自定义更多内容,请尝试以下代码。

  1. 在CSS文件中添加此CSS代码

    #multFileUpload button#fileAlt
    {
        border: 3px solid #cccccc;
        background-color: #FF7B10 !important;
        color: #ffffff;
        font-size: 14px;
        padding: 10px 5px;        
        cursor: pointer;
        border-radius: 5px;
        -moz-border-radius: 5px;
        -webkit-border-radius: 5px;
    }
    #multFileUpload input[type='file'] 
    {
        display: none;
    }    
    
  2. 在javascript文件中添加此jQuery代码

    $(document).ready(function()
    {
        var maxFiles = 4;
        var fileCountStart = 0;
        $("#fileAlt").on('click', function()
        {
            fileCountStart += 1;
            if (maxFiles >= fileCountStart)
            {
                $('#photos').trigger('click');
                if (fileCountStart == maxFiles)
                    $("#fileAlt").attr('disabled', 'disabled');
            }
        });
    });
    
  3. 现在Yii代码

    <div id="multFileUpload">
        <button id="fileAlt">Select an Image</button>
        <?php            
        $this->widget('CMultiFileUpload', array(
            'model' => $model,
            'id'=>'photos',
            'attribute' => 'photos',
            'accept' => 'jpg|jpeg|gif|png',
            'name' => 'photos',
            'remove' => 'remove',
            'options' => array(
            ),
            'denied' => 'File is not allowed',
            'max' => 4, // max 10 files
        ));
        ?>
    </div>