0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

フォーム内のtype=”submit”はひとつだけにしよう

Posted at

こんな感じのフォームがあります。

<form action="xxx.php" method="post">
	<h1>送信フォーム</h1>
	<div>
		<label for="name">名前</label>
		<input type="text" id="name" name="name" required maxlength="10" />

		<button @click="history.back()">戻る</button>
		<button type="submit">送信</button>
	</div>
</form>

名前を入力してエンターキーを押したら送信されると思いますが、
フォームをエンターキーで送信をかける場合、formタグの子要素にある「最初」のtype=”submit”のボタンを実行してしまう。

「戻る」ボタンはtype属性が記述されていないのでスルーされるかと思いきや、buttonタグのtype属性は初期値がtype=”submit”らしい。
HTML5タグリファレンス

解決策

submitしないbuttonタグには、type=”button”を明示的に書いてあげよう。

<form action="xxx.php" method="post">
	<h1>送信フォーム</h1>
	<div>
		<label for="name">名前</label>
		<input type="text" id="name" name="name" required maxlength="10" />

		<button type="button" @click="history.back()">戻る</button> <!-- type属性追加 -->
		<button type="submit">送信</button>
	</div>
</form>

※マウスで送信ボタンを押した場合は影響受けないです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?