brentonstrine brentonstrine - 6 months ago 49
Javascript Question

How to trigger a file download when clicking an html button or javascript

This is crazy but I don't know how to do this, and because of how common the words are, it's hard to find what I need on search engines. I'm thinking this should be an easy one to answer.

I want a simple file download, that would do the same as this:

<a href="file.doc">Download!</a>


But I want to use an HTML button, e.g. either of these:

<input type="button" value="Download!">
<button>Download!</button>


Likewise, is it possible to trigger a simple download via Javascript?

$("#fileRequest").click(function(){ /* code to download? */ });


I'm definitely not looking for a way to create an anchor that looks like a button, use any back-end scripts, or mess with server headers or mime types.

Answer

For the button you can do

<form method="get" action="file.doc">
<button type="submit">Download!</button>
</form>