8

我想将表单数据从我的视图发送到控制器以将数据插入数据库。我已经创建了模型和控制器,但是当我将表单发送到带有操作的控制器时。它只是刷新了页面,数据没有传递给控制器​​,只会加载索引页面。这是我的表格:

<div class="container">
 <!--<div style="text-align:right;" class="row">
   <h3>ارسال توییت جدید</h3>
 </div>-->
   <div class="row">
   <div class="col-md-12" >
               <div class="widget-area no-padding blank">
               <div class="status-upload">
                 <!--<form method="POST" action="?r=twit/send-twit">-->
                 <?php
                 $form = ActiveForm::begin([
                   'options' => ['action' => '?r=twit/send-twit']
                 ]);
                 ?>
                  <?= $form->field($model,'twit')->textarea(); ?>
                   <!--<textarea name="twitContent" style="text-align:right;" placeholder="...توییت خود را وارد کنید" ></textarea>-->
                   <!--<ul>
                     <li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Audio"><i class="fa fa-music"></i></a></li>
                     <li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Video"><i class="fa fa-video-camera"></i></a></li>
                     <li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Sound Record"><i class="fa fa-microphone"></i></a></li>
                     <li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Picture"><i class="fa fa-picture-o"></i></a></li>
                   </ul>-->
                   <!--<button name="submit" type="submit" class="btn btn-success green"><i class="fa fa-send"></i> ارسال توییت</button>-->
                   <?= Html::SubmitButton('ارسال',['class' => 'btn btn-success green']); ?>
                 <!--</form>-->
                 <?php ActiveForm::end(); ?>
               </div><!-- Status Upload  -->
             </div><!-- Widget Area -->
           </div>
   </div>
</div>

这是我的控制器动作,它在twitController类中并且不会被执行,并且数据不会在那里传递:

  public function actionSendTwit()
    {
        $request = Yii::$app->request;
        $sag = $request->post('twit');
        die();
        if ($request->post('twit')){
            $twitContent = $request->post('twit');
            Twit::sendTwit($twitContent);
            \yii::$app->response->redirect('?r=twit/index',301)->send();
        }
    }
4

1 回答 1

7

试试这样

$form = ActiveForm::begin([
    'action' => ['controller/action'],
]);

代替这个

$form = ActiveForm::begin([
               'options' => ['action' => '?r=twit/send-twit']
             ]);

参考文档

于 2015-12-23T07:59:01.867 回答