Php 两个提交按钮,一个表单(Yii)
我的表单中有两个CHtml::submitButton,即接受和拒绝。每个按钮都有一个特定的ID。。。当按下这两个按钮中的任何一个时,我想在控制器中触发一个动作。下面是代码片段 ========================================================= 看法 ======================================================================Php 两个提交按钮,一个表单(Yii),php,forms,button,yii,Php,Forms,Button,Yii,我的表单中有两个CHtml::submitButton,即接受和拒绝。每个按钮都有一个特定的ID。。。当按下这两个按钮中的任何一个时,我想在控制器中触发一个动作。下面是代码片段 ========================================================= 看法 ====================================================================== 当我以这种方式实现它时。控制器端的get值为空。我做错了什
当我以这种方式实现它时。控制器端的get值为空。我做错了什么?或者还有其他方法吗?您忘了给提交按钮起一个名字,除非您的框架发挥了我们不知道的神奇作用-您应该发布生成的HTML代码
如果这样做,$\u GET['buttonname']中的值将是它的值,而不是它的id,即接受或拒绝。一旦您进入i18n,这就变得非常混乱,因此您可能需要为按钮使用不同的名称,然后选中isset$\u get['Buttonname']和isset$\u get['Buttonname']您忘了给提交按钮起一个名字,除非您的框架发挥了我们不知道的神奇作用-您应该发布生成的HTML代码
如果这样做,$\u GET['buttonname']中的值将是它的值,而不是它的id,即接受或拒绝。一旦您进入i18n,这将变得非常混乱,因此您可能希望为按钮使用不同的名称,然后选中isset$\u get['Buttonname']和isset$\u get['Buttonname']以下是您试图实现的代码示例: 视图:
下面是一个代码示例,用于说明您试图实现的目标: 视图:
请发布您的HTML代码,而不是生成它的PHP代码。为什么不尝试用$\u REQUEST代替$\u GET?请发布您的HTML代码,而不是生成它的PHP代码。为什么不尝试用$\u REQUEST代替$\u GET?谢谢ThiefMaster的快速响应。那么我应该这样做吗。。。在$_-GET[]中,应该是$_-GET['Accept']还是$_-GET['Accept']..打印$\r$\u-GET;这对你来说是件好事。。。该数组中的键是字段名,因此它是小写的accept/reject。感谢ThiefMaster的快速响应。那么我应该这样做吗。。。在$_-GET[]中,应该是$_-GET['Accept']还是$_-GET['Accept']..打印$\r$\u-GET;这对你来说是件好事。。。该数组中的键是字段名,因此它是小写的accept/reject。
<?php
echo CHtml::beginForm('mycontrollerName/AcceptUserRegistration','get');
?>
<?php echo CHtml::submitButton('Accept', array('id' => 'accept')); ?>
<? echo ' '; ?>
<?php echo CHtml::submitButton('Reject', array('id' => 'reject')); ?>
<?php echo CHtml::endForm(); ?>
public function actionAcceptUserRegistration() {
$value = $_GET['id'];
if($value == "accept"){
//will do something here
}
if($value == "reject"){
//will do something here.
}
}
<?php
echo CHtml::beginForm('mycontrollerName/AcceptUserRegistration','get');
?>
<?php echo CHtml::submitButton('Accept', array('id' => 'accept', 'name' => 'accept')); ?>
<? echo ' '; ?>
<?php echo CHtml::submitButton('Reject', array('id' => 'reject', 'name' => 'reject')); ?>
<?php echo CHtml::endForm(); ?>
public function actionAcceptUserRegistration() {
if(isset($_GET['accept'])) {
//accepted
} else if(isset($_GET['reject'])) {
//rejected
}
//I recommend using POST method instead of GET for posting the form.
}