2

I'm trying to use only a button as input file, it works fine in Firefox, Chrome, Safari but not in IE... I always get 'access denied' when submitting the form.

The code:

$('#input_file').click();

Is there a real fix for it? I wasted about 2 hours on google but I can't find it.

10
  • $("#input_file").change() will not open browser dialog Commented Aug 31, 2011 at 14:21
  • How about uploadify or similar? Commented Aug 31, 2011 at 14:23
  • Do u have a live version of the form? Commented Aug 31, 2011 at 14:25
  • This works for me: jsfiddle.net/SJWcw. Commented Aug 31, 2011 at 14:25
  • 1
    @SoniaL Then perhaps this question is related: stackoverflow.com/questions/3935001/…. Commented Aug 31, 2011 at 15:03

3 Answers 3

2

I found a way around it. Wrap the button in label tags like this:

<label for="fileinput"><div class="button">Upload file</div></label>


<form>
  <input id="fileinput" name="file" type="file">
</form>

Clicking the label will trigger the file input without invalidating the form in internet explorer (tested in IE9 & IE10)

EDIT: serve this code to IE and keep the javascript solution for other browsers. Firefox will not trigger the file input field when the label is clicked.

Sign up to request clarification or add additional context in comments.

Comments

1

I once saw this piece of code, I don't remember where but it is a workaround

  if ($.browser.msie) {
        // IE suspends timeouts until after the file dialog closes
        $flUpload.click(function (event) {
            setTimeout(function () {
                changeFunc();
            }, 0);
        });
    }
    else {
        // All other browsers behave
        $flUpload.change(changeFunc);
    }

Comments

0

Security sandbox "feature" of IE. There is no way to get around it. Sorry. I use the JQuery file input, but still have to detect IE and use the IE basic input, I have spend a lot of time looking for answers and haven't found any. You could use flash, which is what uploadify does to get around the security of IE. I recommend it, it's a pretty damn good plug-in.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.