Yii2 Form im Modal-Fenster

Ich würde gerne die Grundlagen verstehen lernen, wie die Arbeit mit form von Modal-Fenster, in Yii2? Das ist mein derzeitiges Verständnis, und ich werde dankbar, wenn jemand kann mir erklären was ich verpasst habe.
Also, ich habe eine ListView mit Schallplatten. Jeder Datensatz enthält eine Schaltfläche. Die Schaltfläche öffnet ein Modal, mit einer Form, innen:

echo Html::a('<span class="glyphicon glyphicon-bell" aria-hidden="true"></span>', ['#'],[
                         'id' => $model->id,
                         'class' => 'linkbutton',
                         'data-toggle'=>'modal',
                         'data-tooltip'=>'true',
                         'data-target'=>'#submit_vote'.$model->id,
                         'title'=> 'Assign'
                     ]);

                Modal::begin([
                    'size' => 'modal-lg',
                    'options' => [
                        'id' => 'submit_vote'.$model->id,
                    ],
                    'header' => '<h2>Create Vote</h2>',
                    'footer' => 'Footer'
                ]);

                ActiveForm::begin([
                    'action' => 'vote/vote',
                    'method' => 'post',
                    'id' => 'form'.$model->id
                ]);

                echo Html::input(
                        'type: text',
                        'search',
                        '',
                        [
                            'placeholder' => 'Search...',
                            'class' => 'form-control'
                        ]
                );

                echo Html::submitButton(
                        '<span class="glyphicon glyphicon-search"></span>',
                        [
                            'class' => 'btn btn-success',
                        ]
                );
                ActiveForm::End();
                Modal::end();

In Form 'action' schrieb ich vote/Stimme und die Methode post. Also ich erwarte, dass post-Daten innerhalb actionVote Funktion meines VoteController.

public function actionVote()
    {
        if (Yii::$app->request->post()) {
        $id = Yii::$app->request->post('search');
        Yii::$app->session->setFlash('error', $id);
        return true; 
        }
    }

Für die Vorlage, die ich verwenden ajax:

$('form').on('submit', function () {
    alert($(this).attr('id')+$(this).attr('action')+$(this).serialize());  //just to see what data is coming to js
    if($(this).attr('id') !== 'searchForm') {  //some check
            $.ajax({
            url: $(this).attr('action'),
            type: 'post',
            data: $(this).serialize(),
            success: function(){
                $("#submit_vote15").modal('hide'); //hide popup  
            },
        });  
        return false;
    }

Aber nach klicken auf " Submit form sehe ich zwei Warnungen. Modal ist auch nicht versteckt. Flash-SMS ist auch nicht zeigte.
Was mache ich falsch? Kann mir jemand deutlich erklären, ein Schritt-für-Schritt-Verfahren der Datenfluss? Jetzt für mein Verständnis ist:

  1. Modal Öffnen;
  2. Klicken Sie auf Formular Absenden innerhalb Modal;
  3. Laden der Daten per ajax-controller-action;
  4. fangen Daten aus post-und execute-controller-action-code;
    Was habe ich verpasst?
  • Sie haben die gleichen Benachrichtigungen doppelt ? . Haben Sie überprüfen Sie Ihre Browser-Konsole, um zu sehen, ob ein post request gemacht wurde ?
InformationsquelleAutor Dmytro | 2016-03-19
Schreibe einen Kommentar