jQuery/Submitボタンの置き換えhttp://komina.so.land.to/?jQuery%2FSubmit%A5%DC%A5%BF%A5%F3%A4%CE%C3%D6%A4%AD%B4%B9%A4%A8 |
Submitボタン→通常ボタンへの変更 †Webアプリで画面上のボタン押下処理をSubmitボタンで設計していたのに、突然Submitボタン禁止にされた場合の突貫対応。*1 <form id="form1"> <input type="submit" name="register" value="登録" /> <input type="submit" name="delete" value="削除" /> みたいに複数のボタンの名前を変えておくと、例えば登録ボタンが押されるとregisterに値が設定されたようにフォームが送信される。こんな感じ。 register=登録 ここでsubmitボタンを禁止されると、ボタン押下イベントで自力でsubmit処理を行う必要が出てくる。htmlの方は全てのsubmitをbuttonに変更し、jQueryでクリックイベントをまとめて設定しやすくするために識別子として class に "submit" を設定した。 <form id="form1"> <input type="button" name="register" value="登録" class="submit" /> <input type="button" name="delete" value="削除" class="submit" /> // Submitボタン押下イベント設定 $('.submit').each(function() { $(this).click(function() { $('<input />').attr('type','hidden') .attr('name',$(this).attr('name')) .attr('value',$(this).attr('value')) .appendTo('#form1'); $('#form1').submit(); }); }); いちおう書き下しておくと、
こうすることでinput-typeの変更とclassの追加の手間だけで、サーバプログラム側の変更が不要です。 注意 †
参考にしたサイト †
|