You know, I started playing around with this because I vaguely remember someone else having a problem with submit-type <button> tags.
<html><head><title>test</title></head><body>
<form action="" method="post">
<button type="submit" name="one">No Value</button>
<button type="submit" name="two" value="button 2">Has a Value</button>
</form>
<?php
if(!empty($_POST))
{
echo "<pre>".print_r($_POST,1)."</pre>";
}
Output in Firefox and in Google Chrome when clicking first he "No Value" button and then the "Has a Value":
Array
(
[one] =>
)
===============
Array
(
[two] => button 2
)
Same sequence with IE:
Array
(
[one] => No Value
)
==================
Array
(
[two] => button 2
)
So it looks like you should be good to go if you use an explicit value attribute, but you cannot depend on consistent results without it (and I'd put money on IE being an incorrect implementation of the standards).