2014-07-15 153 views
1

我有一個表單中這些按鈕,我想不會觸發一個提交,他們是簡單的HTML按鈕CakePHP的表單按鈕沒有提交

<?php echo $this->Form->create('Point'); ?> 
... 
<button class="btn">text</button> => this one shouldn't trigger a submit 
... 
<?php echo $this->Form->end(array('label' => 'add', 'div' => false, 'escape' => false, 'class' => 'btn btn-default btn-block')); ?> 

然而CakePHP的總處理這些如提交,就如同常規的形式結束鈕釦。任何方式來防止這種情況?

我試圖使用jQuery

$('.btn').click(function(e){ 
    e.preventDefault(); 
    return false; 
}); 

但是,這不會工作。

回答

2

使用

<button type="button" class="btn">text</button> 

代替。

按鈕的默認typesubmit

0

檢查它...

$('.btn').live('click', function(e){ 
e.preventDefault(); 
return false; 

});

OR

$('.btn').on('click', function(e){ 
    e.preventDefault(); 
    return false; 
}); 
0

你可以只創建simple button代替submit button。如果您將參數放在$this->Form-end()之內,則默認情況下您會收到提交按鈕。但是,您可以輕鬆地添加額外的按鈕(默認情況下不附加任何功能),並在沒有提交按鈕的情況下結束窗體。

像這樣的東西應該做

echo $this->Form->button('A button', 
         array('class' => 'btn')); 
echo $this->Form->end(); 

此外,還要檢查其他類型的動作觸發按鈕,像postButtonpostLink,meybe那些適合更好的你想要做的,而不是防止按鈕的默認功能是什麼。