Yii, как показать скрытое поле ввода fileUpload, созданное с помощью $ form- ›formField ()

Я хочу показать скрытое поле ввода, которое создается с помощью CActiveForm-> fileField ()

<?php $form=$this->beginWidget('CActiveForm', array(
                'id'=>'user-_profile-form',
                'enableAjaxValidation'=>false,
                'htmlOptions'=>array(
                    'enctype'=>'multipart/form-data'
                )
            )); ?>
// some code here

<?php echo $form->labelEx($model,'file_upload'); ?>

<?php echo $form->fileField($model,'file_upload'); ?>

// some code here

<?php $this->endWidget(); ?>

вывод выглядит так

<label for="User_file_upload">File Upload</label>

<input id="ytUser_file_upload" type="hidden" value="" name="User[file_upload]">
<input name="User[file_upload]" id="User_file_upload" type="file">

и я хочу, чтобы скрытое поле отображалось как обычное поле ввода ... потому что дизайн требует этого

было бы хорошо, если бы у кого-нибудь есть предложение для меня

заранее спасибо

РЕДАКТИРОВАТЬ:

вот изображение того, что мне нужно введите описание изображения здесь


person Mik    schedule 13.12.2012    source источник
comment
По какой причине вам нужно отображать скрытое поле как обычное поле ввода? Зачем просто использовать обычное поле ввода?   -  person Egor Smirnov    schedule 13.12.2012
comment
Мне нужно поле загрузки файла, которое по-прежнему показывает принадлежащее ему поле ввода ... обычно с другими фреймворками у меня были проблемы с тем, чтобы скрыть это поле в других проектах, но в этой версии они хотят видеть и ... кнопку uploadFile и ввод   -  person Mik    schedule 13.12.2012
comment
Правильно ли я понимаю, что вы хотите показать как ввод для пути к файлу, так и кнопку для выбора файла? Это поведение по умолчанию - скрытое поле, созданное activeFieldField, таково, что другой код может use isset($_POST[$modelClass]) to detect if the input is submitted (исходный код)   -  person ernie    schedule 13.12.2012


Ответы (1)


Вы могли бы сделать эту клиентскую часть с помощью javascript?

Глядя на это сообщение SO: jQuery: изменить тип элемента со скрытого на input, вы можете изменить его для своей формы (jsfiddle):

marker = $('<span />').insertBefore('#ytUser_file_upload');
$('#ytUser_file_upload').detach().attr('type', 'text').insertAfter(marker).focus();
marker.remove();​
person Stu    schedule 13.12.2012