2015-12-21 2 views
1

Я пытаюсь создать две кнопки отправки в одной форме, которые имеют два действия. Я пытаюсь с ниже code.problem даже он показывает необходимую ссылку, когда мы проверяем, но когда я нажимаю на кнопку «Сохранить» & финализированная кнопка, она перенаправляет на создание в этой форме, действие создает ссылку.Yii2 две кнопки отправки с двумя ссылками

форма

<?php $form = ActiveForm::begin([ 
      'id'=>'reset-password', 
      // 'enableClientValidation' => true, 
      'options' => [ 'enctype' => 'multipart/form-data']]); 
     ?> 
    <div class="row"> 
        <div class="col-sm-3"> 
         <?= $form->field($model, 'category')->textInput(['readonly' => true])->label('Category') ?> 
        </div> 
        <div class="col-sm-3"> 
         <?= $form->field($model, 'rough_or_cut')->textInput(['readonly' => true])->label('Type') ?> 
        </div> 
        <div class="col-sm-3"> 
         <?= $form->field($model, 'cut')->textInput(['readonly' => true])->label('Cut') ?> 
        </div> 
        <div class="col-sm-3"> 
         <?= $form->field($model, 'shape')->textInput(['readonly' => true])->label('Shape') ?> 
        </div> 
       </div> 
    <div class="form-group">    
       <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Save', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-success save']) ?> 
       <?= Html::a('Save & Finalize',['production-order-items/finalize','id'=> $model->isNewRecord ? null: $model->id,], [ 
        'data' =>[ 
         'method' => 'post', 
         'params' => [ 
         ], 
        ], 
        'class' => 'btn btn-primary saveAndFinalize' 
       ]) ?> 
      </div> 
    <?php ActiveForm::end(); ?>   

, что проблема с этим кодом ?. и есть ли способ сделать это в yii2 ?.

ответ

0
  1. Решение: Используйте JavaScript (jquery). Создайте две ссылки (или кнопки - not submitButtons). В .js файл привязывает событие onClick на каждой кнопке (ссылке), которая вызывает другую функцию. В этой функции установите свой атрибут формы «действие» с соответствующим действием, чтобы отправить их. То же самое для второй функции, но другое «действие».

  2. Решение: Это сообщение формы решения только для одного действия. Но в действии вы можете проверить, какая кнопка была отправлена ​​через его имя. Вместо этого Html::submitButton() используйте Html::submitInput() с другим атрибутом «имя», а затем в действии проверьте, !is_null(\Yii::$app->request->post('first_submit_input_name')) ...

Смежные вопросы