ieFixButtons is a jQuery plugin that fixes the buggy behavior of the <button> element in Internet Explorer 6 and 7.

What the standard says What IE is doing
If the button type is not specified, it defaults to submit. The default type is button.
When a button is used to submit a form, the contents of its value attribute is sent to the server. The inner text of the button is sent to the server.
If there is more than one submit button, only the value of the activated one is sent to the server. The inner text of all buttons is sent to the server.[1]

This was kind of fixed in IE7 — the other submit buttons are no longer sent to the server. However, it's still the inner text that is transmitted, not the value.

The ieFixButtons jQuery plugin resolves the two latter issues.

As far as I'm concerned (and based on other people's research), the first problem can't be fixed with JavaScript — if you know I'm wrong, let me know.


Download the script, unzip it, and place it in the <head> section of your HTML document:

<head> ... <script type="text/javascript" src="jquery.iefixbuttons-0.3.js"></script> ... </head>

Then, call the ieFixButtons method:

<script type="text/javascript"> $(document).ready(function () { $('body').ieFixButtons(); }); </script>

I've set up a simple test page which demonstrates the different behavior of buttons with and without the plugin (if you're using Internet Explorer 6 or 7, of course).



Dual licensed under the MIT and GPL licenses.


ieFixButtons on jQuery Plugins