Use Jquery to click a hidden file upload button?

17,280

Solution 1

Strange that it doesn't work. Try

<input id="uploadButton" type="button" value="Upload" onclick='$("#FileUpload").click()'> 

Solution 2

I prefer not to have inline JS function calls in markup ... so a little change...

   $(document).ready(function() {
      $('#uploadButton').on('click',function(evt){
         evt.preventDefault();
         $('#FileUpload').trigger('click');
     });
  });

<div id="MyUpload">
    <span id="FileName">Choose File</span>
    <input id="uploadButton" type="button" value="Upload"> 
</div>
<div id="hideUglyUpload">
    <input type="file" name="FileUpload" id="FileUpload"/>
</div>
Share:
17,280
Pomster
Author by

Pomster

Updated on June 16, 2022

Comments

  • Pomster
    Pomster almost 2 years

    I have a hidden file upload as it looks really bad, I have displayed a nicer looking button and would like it to click the hidden file upload when its clicked.

    function ClickUpload() {
        $("#FileUpload").trigger('click');
    }
    
    <div id="MyUpload">
        <span id="FileName">Choose File</span>
        <input id="uploadButton" type="button" value="Upload" onclick="ClickUpload()"> 
    </div>
    <div id="hideUglyUpload">
        <input type="file" name="FileUpload" id="FileUpload"/>
    </div>
    

    So far i can move into the function ClickUpload() but it just passes through the click without the file selection window popup.