disableOnSubmitを使うときの注意点
二重送信を防止するために、jQueryのプラグインdisableOnSubmitを使うと便利だけれど、使うとname属性を取得できなくなる。
以下のようにsubmitのボタンで処理を振り分けたいときには、振り分けができなくなるので注意が必要。
<?=$this->Html->script('disableOnSubmit')?> <script> $(function(){ $('form').disableOnSubmit(); }); </script> ...... $this->Form->submit('削除', array('name' => 'delete')); ...... $this->Form->submit('修正', array('name' => 'edit')); ......
二重送信防止は修正のときだけでいいよって場合は、次のようにする。
ただしこのときも、修正のsubmitのname属性は取得できない。
<?=$this->Html->script('disableOnSubmit')?> <script> $(function(){ $('form').disableOnSubmit('.submit'); }); </script> ...... $this->Form->submit('削除', array('name' => 'delete', 'div' => false)); ...... $this->Form->submit('修正', array('name' => 'edit')); ......
ってことで、処理を振り分けたい場合は別の方法を考えないといけない。