2015-12-23 76 views
8

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

<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(); 
     } 
    } 

回答

7

尝试这样

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

代替这个

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

参考Docs