javascript のみ (送信なし) で処理するフォームを作成しましたが、アラートをポップアップしたときに Google Chrome がすべての入力を消去していることに気付きました。いくつか実験した結果、javascript アラートがボタン要素から呼び出されたのか、入力要素から呼び出されたのかによって、Chrome の動作が異なることがわかりました。特に、HTML ボタンを使用すると、[OK] をクリックすると、入力ボックス内のテキストが削除されます。これは IE では発生しません。他のブラウザでは試していません。input 要素では発生しません。また、ボタン要素がフォームの外側にある場合は発生しません。
他の誰かがこれに気づいた、またはそうすべき理由を知っていますか?
<form>
<p>Enter some text in the input box, then click one of the buttons.</p>
<input type="text"><br>
<input type="button" onclick="alert('What happens to form values?')" value="Input button"> <br>
<button onclick="alert('What happens to form values?')">HTML button</button>
</form>