2017-02-27 2 views
0

나는 양식을 가지고Yii2 성공 모달 창

<?php if (Yii::$app->session->hasFlash('success')) :?> 
    <!-- <div class="container"> 
     <?= Yii::$app->session->getFlash('success', null, true) ?> 
    </div> --> 
    <div class="modal hide fade" id="myModal"> 
     <div class="modal-header"> 
      <a class="close" data-dismiss="modal">×</a> 
      <h3>Modal header</h3> 
     </div> 
     <div class="modal-body"> 
      <p><?= Yii::$app->session->getFlash('success', null, true) ?></p> 
     </div> 
     <div class="modal-footer"> 
      <a href="#" class="btn">Close</a> 
      <a href="#" class="btn btn-primary">Save changes</a> 
     </div> 
    </div> 
<?php endif ;?> 

그리고 JS 코드는 : 다음보기에서 내가 모달을 넣어

if ($model->load(Yii::$app->request->post()) && $model->save()) { 
     \Yii::$app->session->setFlash('success', 'Created'); 
    } 
return $this->redirect(Yii::$app->request->referrer); 

:

$(window).load(function(){ 
     $('#myModal').modal('show'); 
    }); 

제출 버튼을 클릭하면 성공 모달 창이 열리려고합니다. 그러나 이제는 아무 일도 일어나지 않습니다. 그냥 페이지를 다시로드합니다. 어떻게하면 좋을까요? 그리고 페이지를 다시로드하지 않고 어떻게하는지 설명하십시오.

답변

0

이 더 최선 decidion 수 있습니다,하지만 난 아약스를 통해 그 클래스에 모든 양식을 제출하고 JSON 결과 구문 분석 클래스 myAjaxModalClass 간단한 JS 코드, 사용

{결과 : 0, 데이터를 '새로운 모달 콘텐츠 '}

이렇게하면 페이지를 다시로드하지 않고도 유효성 검사 오류가있는 양식을로드 할 수 있습니다. 또한 리디렉션을 제출하기 위해 결과 상태를 추가 할 수 있습니다. 예 :

{결과 : 2, url : 'http://yoursite.net'}