Php 两个提交按钮,一个表单(Yii)

Php 两个提交按钮,一个表单(Yii),php,forms,button,yii,Php,Forms,Button,Yii,我的表单中有两个CHtml::submitButton,即接受和拒绝。每个按钮都有一个特定的ID。。。当按下这两个按钮中的任何一个时,我想在控制器中触发一个动作。下面是代码片段 ========================================================= 看法 ====================================================================== 当我以这种方式实现它时。控制器端的get值为空。我做错了什

我的表单中有两个CHtml::submitButton,即接受和拒绝。每个按钮都有一个特定的ID。。。当按下这两个按钮中的任何一个时,我想在控制器中触发一个动作。下面是代码片段

=========================================================

看法

======================================================================


当我以这种方式实现它时。控制器端的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 '&nbsp;&nbsp;&nbsp;'; ?>
<?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 '&nbsp;&nbsp;&nbsp;'; ?>
<?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.
}