Phil
Phil

Reputation: 107

Yii2: Kartik FileInput Widget set id to catch events

I try to set the id for the Kartik FileInput Widget but it seems like it won't set it.. because I'm unable to catch the fileuploaded events after an successfull upload.
view.php

echo $form->field($ebook, 'imageFile')->widget(FileInput::classname(), [
    'id'            => 'imageFile',
    'options'       => ['accept' => 'pdf/*'],
    'pluginOptions' => [
        'allowedFileExtensions' => ['pdf'],
        'showPreview'           => false,
        'showUpload'            => true,
        'uploadAsync'           => true,
        'uploadUrl'             => Url::to(['site/upload']),
    ]
]);

catchevent.js

$('#imageFile').on('fileuploaded', function(event, data, previewId, index) {
    var form = data.form, files = data.files, extra = data.extra,
        response = data.response, reader = data.reader;
    console.log('File uploaded triggered');
});

Upvotes: 0

Views: 2128

Answers (1)

csminb
csminb

Reputation: 2382

move the id inside the option list:

echo $form->field($ebook, 'imageFile')->widget(FileInput::classname(), [
    'options'       => ['accept' => 'pdf/*', 'id' => 'imageFile',],
    'pluginOptions' => [
        // ...
    ]
]);

you can find it in the docs

Upvotes: 1

Related Questions