在CakePHP 1.3中,您可以创建一个包含多个提交按钮的表单:
echo $this->Form->submit('Submit 1', array('name'=>'submit');
echo $this->Form->submit('Submit 2', array('name'=>'submit');
Run Code Online (Sandbox Code Playgroud)
并检测控制器中按下了哪个提交按钮:
if (isset($this->params['form']['submit']) && $this->params['form']['submit'] == "Submit 1") {
// first button clicked
}
Run Code Online (Sandbox Code Playgroud)
在CakePHP中,没有设置$ this-> params ['form'],点击的按钮值不会出现在$ this-> request,$ this-> request-> data,$ this-> params,$ this-> data或$ _POST.
如何确定CakePHP 2.0中单击了哪个按钮?
提前致谢.
编辑:
根据要求,这是表单的代码:
<?php echo $this->Form->create('History', array('action'=>'add')); ?>
<div class='submit'>
<?php
echo $this->Form->submit('Yes', array('div'=>false, 'name'=>'submit'));
echo $this->Form->submit('No', array('div'=>false, 'name'=>'submit'));
?>
</div>
<?php echo $this->Form->end()?>
Run Code Online (Sandbox Code Playgroud)
并输出表格:
<form action="/projects/kings_recruit/trunk/www/histories/add" id="HistoryAddForm" method="post" accept-charset="utf-8">
<div style="display:none;">
<input name="_method" value="POST" type="hidden">
</div>
<div …Run Code Online (Sandbox Code Playgroud) 我使用以下谷歌提供的代码在我的一个网站上使用谷歌翻译小部件:
<div id="google_translate_element"></div><script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
}
</script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
<script>
Run Code Online (Sandbox Code Playgroud)
我的问题:翻译在页面加载后运行,但我也有一个脚本,根据宽度自动调整主要导航元素的大小.
这在翻译完成之前运行,因此它会根据未翻译的英文标签进行调整.一旦翻译改变了导航措辞,导航元素需要调整大小以适应新翻译的单词,因为它们可能与英语的大小(宽度)不同.
在运行代码以调整主导航大小之前,我已尝试调用Google翻译代码,但翻译以异步方式运行,因此我的代码在翻译完成之前运行.
翻译完成时是否会引发回调事件(或某种方式来检测翻译何时完成),所以我可以在尝试调整导航大小之前等待?
此外,我需要在页面完成翻译后运行脚本.