Оборачиваете форму отправки в Pjax и выносите это в отдельное вью, которое рендерите в модальном окне.
В форме указываете адрес для обработки, например ['/site/contact'].
В контроллере обрабатываете данные и рендерите эту же форму (вью) [$this->renderAjax('pjax-modal-form-view.php')].
Чтобы закрыть модальное окно при успешной отправке - передаёте во вью дополнительный параметр, а в самом вью добавляете js код, что-то вроде этого:
if (isset($result) && $result){
$this->registerJs("$('#myModal').hide()");
}