在我的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中,我没有得到相同的结果。
任何想法,如何实现?或者我的代码中有什么错误或缺失。
最感谢的回应将会受到赞赏。
谢谢!
答案 0 :(得分: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
}
希望它对你有用。