表單應是這樣的:
echo $form->submit('save-print.jpg' , array('name'=>'savenprint','value'=>"save",'id'=>"savenprint"));
echo $form->submit('save.jpg', array('name'=>'savenprint','value'=>"savenprint",'id'=>"savenprint"));
在你的控制器使用方法:
if($this->data['ModelName']['sbmtfrm_x'] == 'save')
{
//Your save code here
}
else if($this->data['ModelName']['sbmtfrm_x'] == 'savenprint')
{
//Your savenprint code here
}
彼此的解決方案是讓一個隱藏字段,並設置它的價值的onclick的提交按鈕你jQuery的代碼,如下所示:
您的表單:
echo $form->submit('save-print.jpg' , array('name'=>'savenprint','value'=>"save",'id'=>"savenprint", 'class' => 'submitBtn'));
echo $form->submit('save.jpg', array('name'=>'savenprint','value'=>"savenprint",'id'=>"savenprint", 'class' => 'submitBtn'));
echo $form->hidden('sbmtValue', array('id' => 'sbmtValue', 'value' => ''));
而jQuery代碼應該是這樣的:
$(document).ready(function(){
$('.submitBtn').click(function(){
$('#sbmtValue').val($(this).val());
});
});
而在你的控制器的行動用途:
if($this->data['ModelName']['sbmtValue'] == 'save')
{
//Your save code here
}
else if($this->data['ModelName']['sbmtValue'] == 'savenprint')
{
//Your savenprint code here
}
希望它會爲你工作。
如何訪問控制器中的值?對我來說'$ this-> Form-> submit('Send it!',array('name'=>'send_test'))'並檢查控制器,如下所示:if(isset($ this-> params ['表單'] ['send_test'])){...'在Firefox中正常工作。 – pixelistik 2012-07-11 13:04:37
@pixelistik:它不適用於圖像類型,返回像這樣的前例。 '[sbmtfrm_x] => 21 [sbmtfrm_y] => 15' – 2012-07-11 13:15:18
您能否顯示視圖中的完整表單代碼以及相應的控制器代碼?在你的控制器動作中調試($ this-> params ['form'])'的輸出。 – pixelistik 2012-07-11 15:05:44