読者です 読者をやめる 読者になる 読者になる

【jquery】キー操作の制御【CakePHP】

ソース上に submit があるとき Enterキーを選択すると、

操作途中で submit が送信されてしまうことがある。

そんなとき、 Enter キーなどのキー操作の制御ができたら便利じゃん。

jquery 側】

<script>
// enter キーでは保存できないように制御
$('body').keypress(function(event) {
    // 保存ボタンとテキストエリアはenterボタンが有効になる
    if( event.target.id !== 'freeword' && event.which === 13 && event.target.id !== 'saveBtn'){
        return false;
    }
});
</script>

event.target.id でどのボタンか判別できる。 event.wich の 13 は Enter キー。

【HTML側】

<?php echo $this->Form->create( 'TEST' array( 'url' => '/tests/view 'id'=> 'viewForm' ?> 
  <?php echo $this->Form->textarea( 'fleeword', array( 'rows' =>8, 'id'=>'fleeword' )); ?>
  <?php echo $this->Form->submit('保存', array('class' => 'btn', id' => 'saveBtn' )); ?>
<?php echo $this->Form->end(); ?>

とても簡単に制御できると思った(・ω<)