2013-09-27 46 views
0

我是Yii framework的新手。我使用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)。所以当我点击批准按钮时,它应该更新批准以及其他字段。当我点击拒绝时,它应该将批准的字段更新为0.我该怎么做。

回答

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 
} 
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  
} ?> 

一切顺利:)

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");')); ?> 
+0

我试过但不起作用 - <?php echo $ form-> hiddenField($ model,'Approved'); ('保存','''''''''''''')。 ?> <?php echo CHtml :: submitButton('Accept',array('class'=>'btn','onclick'=>'$(“MessageTemplate_Approved”)。val(“accept”);')) ; ?> <?php echo CHtml :: submitButton('Reject',array('class'=>'btn','onclick'=>'$(“MessageTemplate_Approved”).val(“reject”);')) ; ?> – user2770039

+0

这是什么问题?错误日志? –