Bootstrap 4 Custom File Input Button Text | Techiediaries

In this quick tip article, we’ll see how to use custom text and styles with Bootstrap 4 file input.

Bootstrap 4 File Input

HTML file input enables you to upload one or multiple files such as images or import data from files.

Bootstrap 4 Basic and Custom Input

Bootstrap 4 enables you to use two types of file inputs which are basic and custom inputs.

You can simply add the .form-control-file to your <input> element for a basic file input.

For the custom file input, you need to add the .custom-file-input class to the <input> element and the .custom-file-label class to the <label> element.

This a basic Bootstrap 4 file input example:

<div

class=

"form-group"

>

<label

for=

"input1"

>

Example file input

</label>

<input

type=

"file"

class=

"form-control-file"

id=

"input1"

>

</div>

This is a second example with a custom file input:

<div

class=

"custom-file"

>

<input

type=

"file"

class=

"custom-file-input"

id=

"customInput"

>

<label

class=

"custom-file-label"

for=

"customInput"

>

Select file

</label>

</div>

Customize the File Input with Bootstrap

You can use the Bootstrap 4 classes and CSS to customize the custom file input.

Let’s take the following example:

<div

class=

"container"

>

<label

class=

"custom-file"

for=

"customInput"

>

<input

type=

"file"

class=

"custom-file-input"

id=

"customInput"

aria-describedby=

"fileHelp"

>

<span

class=

"custom-file-control form-control-file"

></span>

</label>

</div>

This is the CSS code for customizing the file input:

#customFile

.custom-file-control

:lang

(

en

)

::after

{

content

:

"Select file..."

;

}

#customFile

.custom-file-control

:lang

(

en

)

::before

{

content

:

"Click me"

;

}

Displaying the Selected File Name with JavaScript

You can display the selected file name with JavaScript.

Let’s assume we have a custom-file-input element with label that is the next sibling element to the input.

We can use the following JavaScript code for displaying the file name after selecting a file”

document

.

querySelector

(

'.custom-file-input'

).

addEventListener

(

'change'

,

function

(

e

){

var

fileName

=

document

.

getElementById

(

"exampleInputFile"

).

files

[

0

].

name

;

var

nextSibling

=

e

.

target

.

nextElementSibling

nextSibling

.

innerText

=

fileName

})

References