Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Set value of type="file" via jquery [duplicate]

Tags:

html

jquery

Note:

The answer(s) below reflect the state of legacy browsers in 2009. Now you can actually set the value of the file input element dynamically/programatically using JavaScript in 2017.

See the answer in this question for details as well as a demo:
How to set file input value programatically (i.e.: when drag-dropping files)?

Without upload(browse) a file I want to set a value of fileuploader through button click.Is it possible or I am in wrong way?
sample html:

<input type="file" id="files" />
<input type="button" id="btnTest" value="Test"/>

and jquery:

 $("#btnTest").click(function() {
      alert('test');
     //$('#files').html('pp.img');
     //$('#files').val('pp.img');
     $('#files').text('pp.img')
});

But its not work for me .

like image 437
4b0 Avatar asked Aug 30 '12 04:08

4b0


3 Answers

Is it possible?

nope

It would be a serious security flaw if you were able to do this via JavaScript, as you'd be able to specify any file on a user's computer, which is why you're not allowed to set the value of a file input element.

like image 190
zzzzBov Avatar answered Nov 08 '22 13:11

zzzzBov


I don't think you are allowed to set the value at all. Because if you were able to, you could put C:\passwords.txt in there and submit the value automatically. Not very secure.

like image 3
Marc Avatar answered Nov 08 '22 12:11

Marc


well i must say that there is no cross-browser way to do this. The "no file selected" text is in the implementation-defined part of the widget, and it's totally browser specific. and if it is necessary You could simply use CSS to cover the text with something when the value attribute is empty.

like image 5
rahul Avatar answered Nov 08 '22 11:11

rahul