2

在我的 CakePHP 1.3 版本中,我有两个提交类型的图像标签,如下所述:

echo $form->submit('save-print.jpg' , array('name'=>'savenprint','value'=>"savenprint",'id'=>"savenprint"));

echo $form->submit('save.jpg');

现在,我想要在我的控制器中识别提交了哪个按钮,是“保存”还是“打印并保存”

所以我已经申请name and value了他们每个人,在 Chrome 浏览器中,我得到了名称和值对,而在 Mozilla Firefox 中,我没有得到相同的结果。

任何想法,如何实现?或者我的代码中有什么问题或缺失。

尽早回复将不胜感激。

谢谢 !

4

1 回答 1

1

您的表单应如下所示:

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
}

另一种解决方案是制作一个隐藏字段并在您的 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
}  

希望它对你有用。

于 2012-07-12T04:57:02.760 回答