kartik-v fileinput небольшой вопросик

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
long399
Сообщения: 8
Зарегистрирован: 2019.08.13, 08:03
Откуда: г. Новосибирск

kartik-v fileinput небольшой вопросик

Сообщение long399 » 2019.08.20, 09:51

Подскажите, пожалуйста, как можно сделать так, чтобы при нажатии на DragZone открывался диалог выбора файла? Сейчас он открывается лишь при перетаскивании туда файла, или при нажатии кнопки browse.

yiiliveext
Сообщения: 153
Зарегистрирован: 2019.08.13, 01:49

Re: kartik-v fileinput небольшой вопросик

Сообщение yiiliveext » 2019.08.20, 12:08

Если этот инпут единственный на странице, то так

Код: Выделить всё

<?php $js = '    
        $(".file-drop-zone").on("click", function () {
            $("input[type=\'file\']").trigger("click");
        });
';
$this->registerJs($js);
?>
Если несколько, то делайте обработчик для каждого с соответствующими селекторами зоны и файлинпута.
Либо вот так

Код: Выделить всё

<?php $js = '    
        $(".file-drop-zone").on("click", function () {
            var formGroup = $(this).closest(".form-group"),
                fieldIndex = formGroup.attr("class").indexOf("field-");
            $("#"+formGroup.attr("class").substr(fieldIndex+6).split(" ")[0]).trigger("click");
        });
';
$this->registerJs($js);
?>

yiiliveext
Сообщения: 153
Зарегистрирован: 2019.08.13, 01:49

Re: kartik-v fileinput небольшой вопросик

Сообщение yiiliveext » 2019.08.20, 15:34

Как оказалось, сейчас есть стандартная такая фича.

Код: Выделить всё

 $form->field($model, 'image')->widget(\kartik\file\FileInput::classname(), [
                        'options' => ['accept' => 'image/*'],
                            'pluginOptions' => [
                                'showCaption' => false,
                                'showRemove' => false,
                                'showUpload' => false,
                                'showBrowse' => false,
                                'browseOnZoneClick' => true,
                               ]
          ]);

long399
Сообщения: 8
Зарегистрирован: 2019.08.13, 08:03
Откуда: г. Новосибирск

Re: kartik-v fileinput небольшой вопросик

Сообщение long399 » 2019.08.21, 04:50

yiiliveext писал(а):
2019.08.20, 15:34
Как оказалось, сейчас есть стандартная такая фича.

Код: Выделить всё

 $form->field($model, 'image')->widget(\kartik\file\FileInput::classname(), [
                        'options' => ['accept' => 'image/*'],
                            'pluginOptions' => [
                                'showCaption' => false,
                                'showRemove' => false,
                                'showUpload' => false,
                                'showBrowse' => false,
                                'browseOnZoneClick' => true,
                               ]
          ]);
Было предчувствие, что должно быть нечто подобное!!! Спасибо большое :D

Ответить