What's new
99vfx.com | Premium Web Community Forum

🎉 Join the Community – It’s Free!

Register a free account today to become a member!

Once signed in, you'll be able to:

  • Add your own topics and posts
  • Connect with other members through your private inbox
  • Download exclusive tools and resources

🚀 Create Your Free Account

How to make javascript change event trigger on a hidden file input button

VFX-Point
-7
‎6 Months of Service‎
To trigger a change event on a hidden file input in JavaScript, you can simulate the file input's click event using another visible element, such as a button. When a file is selected, the change event will be triggered automatically.

Here’s an example:

HTML

JavaScript:
<!-- Hidden file input -->

<input type="file" id="fileInput" style="display: none;" />



<!-- Visible button -->

<button id="uploadButton">Upload File</button>

JavaScript

JavaScript:
// Get references to the file input and button

const fileInput = document.getElementById('fileInput');

const uploadButton = document.getElementById('uploadButton');



// Trigger the file input click when the button is clicked

uploadButton.addEventListener('click', () => {

    fileInput.click();

});



// Handle the change event of the file input

fileInput.addEventListener('change', (event) => {

    const files = event.target.files;

    if (files.length > 0) {

        console.log(`Selected file: ${files[0].name}`);

        // Add additional logic to process the file if needed

    }

});



Explanation:



1. Hidden File Input:



The fileInput is hidden using style="display: none;".



2. Visible Button:

The uploadButton is displayed and used to simulate a click on the hidden file input.



3. Event Listeners:

The click event on the button triggers the file input's click method.

The change event on the file input detects when a file is selected, allowing you to handle the selected files.




This approach keeps the file input hidden while allowing users to intera
ct with a more user-friendly UI element like a button.
 
Back
Top