Php 如何使用多个提交按钮创建表单

Php 如何使用多个提交按钮创建表单,php,yii,yii-components,Php,Yii,Yii Components,我是Yii框架的新手。我正在使用form.php更新表的字段。所以现在我用这个表单和三个提交按钮-[保存、接受、拒绝]/code>]。该表单现在有以下字段 <div class="row"> <?php //$model->ReviewedDate=date('Y-m-d H:i:s');?> <?php echo $form->labelEx($model,'ReviewedDate'); ?> <?php echo

我是Yii框架的新手。我正在使用form.php更新表的字段。所以现在我用这个表单和三个提交按钮-[
保存、接受、拒绝]/code>]。该表单现在有以下字段

<div class="row">
    <?php //$model->ReviewedDate=date('Y-m-d H:i:s');?>
    <?php echo $form->labelEx($model,'ReviewedDate'); ?>
    <?php echo $form->textField($model,'ReviewedDate',array('value'=>'0000-00-00 00:00:00','readonly' => true));te  ?>
    <?php echo $form->error($model,'ReviewedDate'); ?>
            </div>
<div class="row">
    <?php echo $form->labelEx($model,'Approved'); ?>
    <?php echo $form->textField($model,'Approved'); ?>
    <?php echo $form->error($model,'Approved'); ?>
</div>    
<div class="row buttons">
        <?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save',array('confirm' => 'Are you sure to save')); ?></div>


上面是“已批准”字段。现在,当我单击“保存”时,除“已批准”字段外,所有其他字段都必须更新。(已批准默认为0)。所以当我点击Approve按钮时,它应该更新Approved以及其他字段。当我单击Reject时,它应该将approved字段更新为0。如何做到这一点。

我建议您使用下拉列表,以便用户可以选择所需的操作,而不是使用3个提交按钮。然后检查下拉控件的值,以便“保存”、“接受”或“拒绝”

在控制器中:

if (isset($_POST['ModelName'])) {
    switch ($_POST['action']) {
        case 'Accept':
            # code for Acceptance
            break;

        case 'Reject':
            # code for Rejection
            break;
    }
    //Continue with Saving the Model data here
}

我建议您使用下拉列表,而不是3个提交按钮,这样您的用户就可以选择所需的操作。然后检查下拉控件的值,以便“保存”、“接受”或“拒绝”

在控制器中:

if (isset($_POST['ModelName'])) {
    switch ($_POST['action']) {
        case 'Accept':
            # code for Acceptance
            break;

        case 'Reject':
            # code for Rejection
            break;
    }
    //Continue with Saving the Model data here
}

您可以使用三个提交按钮,并可以根据该按钮管理功能。 在表单中创建3个按钮,如下所示:

<?php echo CHtml::submitButton('Save', array('name' => 'save')); ?>
<?php echo CHtml::submitButton('Accept', array('name' => 'accept')); ?>
<?php echo CHtml::submitButton('Reject', array('name' => 'reject')); ?>
<?php 
if(isset($_POST['save'])){
    //save submit button is click and code for save button will be here    
}
if(isset($_POST['accept'])){
    //accept submit button is click and code for accept button will be here    
}
if(isset($_POST['reject'])){
    //reject submit button is click and code for reject button will be here    
} ?>

在控制器中,根据以下内容检查单击了哪个按钮:

<?php echo CHtml::submitButton('Save', array('name' => 'save')); ?>
<?php echo CHtml::submitButton('Accept', array('name' => 'accept')); ?>
<?php echo CHtml::submitButton('Reject', array('name' => 'reject')); ?>
<?php 
if(isset($_POST['save'])){
    //save submit button is click and code for save button will be here    
}
if(isset($_POST['accept'])){
    //accept submit button is click and code for accept button will be here    
}
if(isset($_POST['reject'])){
    //reject submit button is click and code for reject button will be here    
} ?>


最好的是:)

您可以使用三个提交按钮,并可以根据这些按钮管理功能。 在表单中创建3个按钮,如下所示:

<?php echo CHtml::submitButton('Save', array('name' => 'save')); ?>
<?php echo CHtml::submitButton('Accept', array('name' => 'accept')); ?>
<?php echo CHtml::submitButton('Reject', array('name' => 'reject')); ?>
<?php 
if(isset($_POST['save'])){
    //save submit button is click and code for save button will be here    
}
if(isset($_POST['accept'])){
    //accept submit button is click and code for accept button will be here    
}
if(isset($_POST['reject'])){
    //reject submit button is click and code for reject button will be here    
} ?>

在控制器中,根据以下内容检查单击了哪个按钮:

<?php echo CHtml::submitButton('Save', array('name' => 'save')); ?>
<?php echo CHtml::submitButton('Accept', array('name' => 'accept')); ?>
<?php echo CHtml::submitButton('Reject', array('name' => 'reject')); ?>
<?php 
if(isset($_POST['save'])){
    //save submit button is click and code for save button will be here    
}
if(isset($_POST['accept'])){
    //accept submit button is click and code for accept button will be here    
}
if(isset($_POST['reject'])){
    //reject submit button is click and code for reject button will be here    
} ?>


一切顺利:)

您可以通过以下操作添加一个隐藏字段:

<?php echo $form->hiddenField($model, 'typeSubmit'); ?> // Add 'typeSubmit' attribute on the model
//在模型上添加'typeSubmit'属性
和3个提交按钮。每个按钮都会在隐藏字段中显示提交类型

<?php echo CHtml::submitButton('Save', array('class'=>'btn','onclick'=>'$("#ModelName_typeSubmit").val("save");')); ?> // #ModelName = $model name class.
<?php echo CHtml::submitButton('Accept', array('class'=>'btn','onclick'=>'$("#ModelName_typeSubmit").val("accept");')); ?>
<?php echo CHtml::submitButton('Reject', array('class'=>'btn','onclick'=>'$("#ModelName_typeSubmit").val("reject");')); ?>

您可以通过以下操作添加一个隐藏字段:

<?php echo $form->hiddenField($model, 'typeSubmit'); ?> // Add 'typeSubmit' attribute on the model
//在模型上添加'typeSubmit'属性
和3个提交按钮。每个按钮都会在隐藏字段中显示提交类型

<?php echo CHtml::submitButton('Save', array('class'=>'btn','onclick'=>'$("#ModelName_typeSubmit").val("save");')); ?> // #ModelName = $model name class.
<?php echo CHtml::submitButton('Accept', array('class'=>'btn','onclick'=>'$("#ModelName_typeSubmit").val("accept");')); ?>
<?php echo CHtml::submitButton('Reject', array('class'=>'btn','onclick'=>'$("#ModelName_typeSubmit").val("reject");')); ?>

我尝试了这个但不起作用-我尝试了这个但不起作用-
并且在contoller
var\u dump(isset($\u POST['dco'));模具()
给我
bool(false)
和contoller
var\u转储(isset($\u POST['dco'));模具()
给我
bool(false)
和contoller
var\u转储(isset($\u POST['dco'));模具()
给我
bool(false)
和contoller
var\u转储(isset($\u POST['dco'));模具()给我
bool(false)