CakePHP表单上的多个提交按钮导致黑洞

CakePHP表单上的多个提交按钮导致黑洞,php,cakephp,Php,Cakephp,我的CakePHP中有一个表单,有两个提交按钮,如下所示: <div class="form-actions"> <button type="submit" name="preview" class="btn btn-large">Preview</button> <button type="submit" name="save" class="btn btn-large">Save</button> </div&

我的CakePHP中有一个表单,有两个提交按钮,如下所示:

<div class="form-actions">
    <button type="submit" name="preview" class="btn btn-large">Preview</button>
    <button type="submit" name="save" class="btn btn-large">Save</button>
</div>

预览
拯救
然而,由于我给了他们两个名字,它返回一个错误,即由于安全限制,请求已被黑洞


我该怎么做?因为我想在控制器中执行不同的操作,具体取决于提交表单时使用的按钮。

如果您为两个按钮提供相同的名称但不同的值,是否有效:

<input type="submit" name="submitButton" value="Preview" />
<input type="submit" name="submitButton" value="Save" />

您可以这样做吗

    <div class="form-actions">
        <button type="button" name="preview" class="btn btn-large">Preview</button>
        <button type="submit" name="save" class="btn btn-large">Save</button>
    </div>

$(function() {
     $(".btn.btn-large").on("click", function(){
           $( "#yourForm" ).submit();
     }); 
});

预览
拯救
$(函数(){
$(.btn.btn large”)。在(“单击”,函数()上{
$(“#您的表单”).submit();
}); 
});
这样做有效:

<?php 
echo $this->Form->submit('Save and Preview', array('div'=>false, 'name'=>'submit', 'value'=>'preview')); 
echo $this->Form->submit('Publish Post', array('div'=>false, 'name'=>'submit', 'value'=>'publish')); 
?>


是否有令人信服的理由让两人都提交?为什么不能使用call preview a type=button来代替呢?因为type button不会提交表单。你可以使用
js
,这是一个选项吗?如果cakephp对你有两次提交有问题,为什么你不在语义上称一次为button,而使用js来提交呢?如果我在模型中添加假模式呢?