フォームを送信しないための HTML ボタン 質問する

フォームを送信しないための HTML ボタン 質問する

フォームがあります。そのフォームの外側にボタンがあります。次のようなシンプルなボタンです。

<button>My Button</button>

それでも、クリックするとフォームが送信されます。コードは次のとおりです。

<form id="myform">
    <label>Label 
      <input />
    </label>
</form>
<button>My Button</button>

このボタンはJavaScriptを実行するだけです。しかし、上記のコードのように見えても、フォームを送信します。タグボタンをspanに変更すると、完璧に動作します。しかし、残念ながら、ボタンである必要があります。そのボタンがフォームを送信しないようにブロックする方法はありますか?例えば

<button onclick="document.getElementById('myform').doNotSubmit();">My Button</button>

ベストアンサー1

これは HTML の最も厄介な小さな特異性だと思います... 送信されないようにするには、そのボタンは「ボタン」タイプである必要があります。

<button type="button">My Button</button>

2019年2月5日更新:HTML リビングスタンダード(また、HTML 5 仕様):

欠落値のデフォルト無効な値のデフォルトは、送信ボタンの状態です。

おすすめ記事