input type=textでSubmitさせたくない場合ありますよね。
jQuery前提で。
<form id="someForm"> <input type="text" name="hoge"> <input type="submit" id="submitbutton"> </form>
というHTMLフォームの場合、
var post_flag = false; $(function() { $('#submitbutton').bind('mouseup', function(e){ post_flag = true; }); $('#someForm').bind('submit', function(e){ setTimeout(function(){ if (post_flag){ $(e.target).submit(); post_flag = false; } }, 1); return post_flag; }); });
グローバル変数を使うのが微妙ならClass化させてしまって。あるいはクロージャでもいけるなじゃないかな?
サブミットボタンのonClickをとらないのは、Firefoxで見てたらEnterによるOnsubmit時にサブミットボタンのClickイベントが誘発されてたので。