我的网站上有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文件输入中清除所选文件。请先感谢
您可以在小部件内添加删除按钮。删除按钮仅在通过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方法以进行删除。