cakePHP表单按钮没有提交

时间:2014-07-15 16:55:50

标签: php html cakephp cakephp-2.0

我在表单中有这些按钮,我不想触发提交,它们是简单的html按钮

<?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;
});

但这也行不通。

3 个答案:

答案 0 :(得分:2)

使用

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

代替。

按钮的默认typesubmit

答案 1 :(得分:1)

您可以创建simple button而不是submit button。如果你在$this->Form-end()中加入参数,那么你默认会得到一个提交按钮。但您可以轻松添加额外的按钮(默认情况下不附加任何功能)并在没有提交按钮的情况下结束表单。

这样的事情应该做

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

另外,请检查其他类型的操作触发按钮,例如postButtonpostLink,这些按钮更适合您想要做的事情,而不是阻止按钮的默认功能。

答案 2 :(得分:0)

检查......

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

    return false;
});

OR

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