【问题标题】:Yii2 : kartik-v/fileinput trigger upload on selectionYii2:kartik-v/fileinput 在选择时触发上传
【发布时间】:2019-06-20 15:55:55
【问题描述】:

我使用 YII2 + /kartik-v/bootstrap-fileinput 插件。当用户将文件放入上传输入时,我需要上传文件。通过ajax请求进行。当我将“showUpload”选项设置为false,并使用ajax 操作设置“uploadUrl”时,更改文件事件不会发生对服务器的请求。

<?= $form->field($model, 'logotype')->widget(FileInput::class, [
    'options'       => [ 'accept' => 'image/*' ],
    'pluginOptions' => [
    'showCaption' => false,
    'showRemove'  => false,
    'showUpload'  => false,
    'browseClass' => 'btn btn-primary btn-block',
    'browseIcon'  => '<i class="glyphicon glyphicon-camera"></i> ',
    'uploadUrl'=> '/module/controller/action'
],
]); ?>

当用户选择图像并且不另外按下“上传”按钮时,我希望表单能够在服务器上使用我的数据文件创建 ajax POST。使用这个插件可以实现吗?或者我应该编写一个自定义处理程序onchange 事件?也许插件选项中有某种回调。

【问题讨论】:

  • 添加了一个答案,看看它是否对你有帮助

标签: jquery ajax file-upload yii2 kartik-v


【解决方案1】:

您可以使用change 事件在选择文件时手动触发上传,并触发ajax 上传您应该调用upload 方法。

看下面的代码

$('#input-id').on('change', function(event) {
    $(this).fileinput('upload');
});

希望对你有帮助

【讨论】:

    【解决方案2】:

    对我来说,“filebatchselected”事件有效。

    原为https://plugins.krajee.com/file-input-ajax-demo/6

    $("#projectplan-plan_file").on('filebatchselected', function(event) {
        $(this).fileinput('upload');
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-17
      • 1970-01-01
      • 1970-01-01
      • 2017-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多