Bulma es un marco CSS gratuito y de código abierto que se puede usar como una alternativa a Bootstrap . Viene con componentes preconstruidos como botones e íconos. En este artículo, veremos cómo recuperar el nombre del archivo seleccionado usando la entrada de carga de archivos usando JavaScript.
Para recuperar el nombre del archivo seleccionado, adjuntaremos un oyente onChange a la entrada de carga del archivo y cada vez que se active el evento onChange, verificaremos si hay algún archivo seleccionado, y si se selecciona un archivo, recuperaremos su nombre y cambiaremos el texto de el contenedor de nombres al nombre del archivo.
Ejemplo: El siguiente ejemplo muestra cómo obtener el nombre del archivo seleccionado usando JavaScript.
HTML
<!DOCTYPE html> <html lang="en"> <head> <link rel='stylesheet' href= 'https://cdn.jsdelivr.net/npm/bulma@0.9.3/css/bulma.min.css'> <link rel="stylesheet" href= "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" /> <style> h1, p { text-align: center; } .container>div{ margin-top: 25px; } </style> </head> <body> <div class="container"> <h1 class="is-size-2 has-text-success"> GeeksforGeeks </h1> <p><b>Bulma File with JavaScript</b></p> <!-- HTML to select the file --> <div id="file-with-js" class="file has-name is-centered is-link"> <label class="file-label"> <input class="file-input" type="file" name="selected-image"> <span class="file-cta"> <span class="file-icon"> <i class="fas fa-upload"></i> </span> <span class="file-label"> Select an Image.. </span> </span> <span class="file-name"> No Image Selected </span> </label> </div> </div> <!-- Javascript to retrieve the name of the selected file. --> <script> // Select the input element using // document.querySelector var input = document.querySelector( "#file-with-js>.file-label>.file-input" ); // Bind an listener to onChange event of the input input.onchange = function () { if(input.files.length > 0){ var fileNameContainer = document.querySelector( "#file-with-js>.file-label>.file-name" ); // set the inner text of fileNameContainer // to the name of the file fileNameContainer.textContent = input.files[0].name; } } </script> </body> </html>
Producción:
Referencia: https://bulma.io/documentation/form/file/#javascript