如何从kartik FileInput yii2中清除所选文件

问题描述 投票:0回答:1

我的网站上有kartik提供的文件上传小部件,例如

<?=$form->field($documents, 'file_additional_doc[]')->widget(FileInput::classname(), [
              'options'=>['id'=>'file_additional_doc'],
    'pluginOptions' => [
        'showUpload' => false,
        'browseLabel' => '',
        'removeLabel' => '',
        'mainClass' => 'input-group-lg',
        'showPreview'=>false,
        'showCancel' => false,
    ]
])->label(false);?>

而且我想通过一个外部按钮从中清除所选文件。我很累

document.getElementById("file_additional_doc").value=null;

但是它不起作用。我该如何从kartik文件输入中清除所选文件。请先感谢

javascript php yii2 kartik-v
1个回答
0
投票

您可以在小部件内添加删除按钮。删除按钮仅在通过ajax上传时有效。设置ajax的uploadUrl和deleteUrl属性。

'pluginOptins' => [
    'uploadUrl' => Url:;to(<url>),
    'deleteUrl' => Url::to(<url>)
]

使用layoutTemplates属性自定义删除按钮

'layoutTemplates' => [
    'actionDelete' => [
         '<button type="button" class="kv-file-remove btn btn-sm btn-kv btn-outline-secondary" title="{removeTitle}" {dataKey}{dataUrl}><i class="fa fa-trash"></i></button>'
   ]
]

如果要覆盖默认的删除按钮,请删除类kv-file-remove并添加添加自定义ID或类。然后根据添加的ID或类触发ajax方法以进行删除。

© www.soinside.com 2019 - 2024. All rights reserved.