form enter submit させない
formでテキスト入力時のエンター押下でsubmitさせないようにする
<input type="submit"> から
<button type="button"></button> に変更してボタン押下時にjavascriptでsubmitしてやる
<form> <input type="text"> <input type="submit"> </form>
↓
<form id="form-nantoka"> <input type="text"> <button id="form-submit" type="button">submit</button> </form>
$('#form-submit').on('cick', function() { $('#form-nantoka').submit(); });
これでOKかと思っていたがエンターキー押下でsubmitするのはいくつか条件があるらしい
自分が確認したのは以下の2点
- フォームにsubmitボタンがある
- テキスト形式の入力フォームが一つのみのフォーム
2. の場合が解決できていなかったので、もう少し改良
$('#form-nantoka').on('submit', function() { return false; }); $('#form-submit').on('cick', function() { $('#form-nantoka').off('submit'); $('#form-nantoka').submit(); });
他にもtext入力時のkeypressイベントでエンターキー押下時イベントキャンセルする等のやり方がいくつかあるらしい