2014-07-15 152 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那些适合更好的你想要做的,而不是防止按钮的默认功能是什么。