0

我是 Yii 框架的新手。我正在使用 form.php 来更新表格的字段。所以现在我使用这个表单和三个提交按钮 - [ Save, Accept, Reject]。该表单现在具有以下字段。

<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 以及其他字段。当我点击拒绝时,它应该将已批准的字段更新为 0。我该怎么做。

4

3 回答 3

3

您可以使用三个提交按钮,并可以按此管理功能。在表单中创建 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    
} ?>

一切顺利 :)

于 2013-09-27T09:41:15.630 回答
0

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

echo CHtml::dropDownList('action', '', array('Accept', 'Reject'));

在你的控制器中:

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
}
于 2013-09-27T09:27:57.440 回答
0

您可以使用以下操作添加hiddenField

<?php echo $form->hiddenField($model, 'typeSubmit'); ?> // Add 'typeSubmit' attribute on the model

和 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");')); ?>
于 2013-09-27T09:42:55.443 回答