#何をしたかったか
単純にボタンにaタグでリンクを張って、外部に飛ばしたい。
ただしレイアウト諸々の関係上、formタグの中にボタンを置いた。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>テスト</title>
</head>
<body>
<form action="/hoge" method="POST">
<div>
<a href="http://www.yahoo.co.jp"><input type="button" name="button" value="外部サイトへ"></a>
<input type="submit" name="submit" value="送信" >
</div>
</form>
</body>
</html>
#何にハマったか
Chrome、FireFoxでは"外部サイト"へボタンを押せば、きちんとリンク先に飛ぶのだが、IE11は無反応だった。
HTML5にしたらどうだろうと思い、DOCTYPEを<!DOCTYPE html>
に書き換えてみたが変わらず。
そもそもHTML5ではaタグの子要素としてinputタグは許可されていないので、HTML Validateでエラーとなる。
(Chrome、FireFoxでは動くけど)
次にaタグ、inputタグの組み合わせをformの外に出してみた。
これだと3ブラウザいずれも問題なく動作した。
<form action="/hoge" method="POST">
<div>
<input type="submit" name="submit" value="送信" >
</div>
</form>
<a href="http://www.yahoo.co.jp"><input type="button" name="button" value="外部サイトへ"></a>
#結局どうしたか
HTML5のエラーも考慮して、onclickイベントで対応。
<form action="/hoge" method="POST">
<div>
<input type="button" name="button" value="外部サイトへ" onclick="window.open('http://www.yahoo.co.jp', '_self')"></a>
<input type="submit" name="submit" value="送信" >
</div>
#補足(2016.11.18)
今更ながら最初のHTMLをWindows10のIE11(バージョン:11.672.10586.0)とMicrosoftEdgeで確かめてみた。
結果はどちらも問題なく動作。バグfixされたのかな。