我是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>
上方有Approved字段。现在,当我点击保存时,除了已批准外,所有其他字段都必须更新。 (默认情况下,已批准为0)。因此,当我单击“批准”按钮时,它应该更新“已批准”以及其他字段。当我点击Reject时,它应该将已批准的字段更新为0.我该怎么做。
答案 0 :(得分: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
} ?>
一切顺利:)
答案 1 :(得分: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
}
答案 2 :(得分: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");')); ?>