間違ったタイプの入力に onclick ハンドラーがある場合にブラウザー (Google Chrome、FF、IE、および Opera すべて最新バージョン) がどのように動作する必要があるかについて、HTML 仕様には何も見つかりませんでした。 :)
私は次の html を使用し、ブラウザーが何らかのエラー (おそらく開発者コンソールのログで) を返したと想像しましたが、ページ全体をリロードするだけです!
<!DOCTYPE html>
<html>
<body>
<form class="form-inline">
<button type="button color" onclick="document.getElementById('magic').innerHTML='clicked broken button'">Broken Button</button>
<button type="button" onclick="document.getElementById('magic').innerHTML='clicked button'" >Button</button>
</form>
<p id="magic"></p>
</body>
</html>
ご覧のとおり、最初のボタンのタイプは間違っていますが、2 番目のボタンのタイプは正しいです。両方のボタンの onclick-handler はほぼ同じです。唯一の違いは、変更された段落のテキストです。
最初のボタンをクリックすると、段落のテキストが変更され、ページ全体がリロードされ、空の段落になります。2 番目のボタンをクリックすると、すべてが期待どおりに機能し、段落のテキストが変更されるだけです。リロードは必要ありません。
では、ページ全体のリロードが 4 つの主要なブラウザーすべてでデフォルトの動作である理由を教えてください。ブラウザーはボタンの入力ミスについてヒントを出すべきではありません (おそらく、開発者コンソール ログにエラー メッセージを出力することによって)。私にとって、これは非常に紛らわしいです:(