Есть у меня виджет для использования его в layout, т.к форма сквозная и также есть пара форм в обычной вьюхе.
Так вот, в обычной вьюхе формы отправляют ajax-запрос и не меняют текущий url, а вот форма с виджета отправляет ajax-запрос но меняет урл.
Формы во вьюхе:<?
Modal::begin([
'header' => '<h3>Запись на консультацию</h3>',
'toggleButton' => [
'label' => 'Записать на консультацию',
'tag' => 'button',
'class' => 'btn btn__white',
],
]);
Pjax::begin(['enablePushState' => false]);
echo Html::beginForm(Url::toRoute('forms/writetoconsult'),'POST', ['data-pjax' => '']);
echo '<div class="form-group">';
echo Html::textInput('name', '', ['class' => 'form-control', 'placeholder' => 'Ваше имя']);
echo '</div>';
echo '<div class="form-group">';
echo Html::textInput('phone', '', ['class' => 'form-control', 'placeholder' => 'Ваш телефон']);
echo '</div>';
echo '<div class="form-group">';
echo Html::submitButton('Записаться', ['class' => 'btn block-center btn__border']);
echo '</div>';
echo Html::endForm();
Pjax::end();
Modal::end();
Modal::begin([
'header' => '<h3>Задать вопрос</h3>',
'toggleButton' => [
'label' => 'Задать вопрос',
'tag' => 'button',
'class' => 'btn btn__border-white pull-right'
],
]);
Pjax::begin(['enablePushState' => false]);
echo Html::beginForm(Url::toRoute('forms/questionspecialist'),'POST', ['data-pjax' => '']);
echo '<div class="form-group">';
echo Html::textInput('name', '', ['class' => 'form-control', 'placeholder' => 'Ваше имя']);
echo '</div>';
echo '<div class="form-group">';
echo Html::textInput('email', '', ['class' => 'form-control', 'placeholder' => 'Ваш email']);
echo '</div>';
echo '<div class="form-group">';
echo Html::textarea('email', '', ['class' => 'form-control', 'placeholder' => 'Ваш вопрос?', 'rows' => 5]);
echo '</div>';
echo '<div class="form-group">';
echo Html::submitButton('Записаться', ['class' => 'btn block-center btn__border']);
echo '</div>';
echo Html::endForm();
Pjax::end();
Modal::end();
?>
Форма в виджете:
<?
Pjax::begin(['enablePushState' => false]);
echo Html::beginForm(Url::toRoute('forms/appointments'), 'POST', [
'data-pjax' => '',
'id' => 'appoint',
'class' => 'appointments__form form-horizontal',
]);
?>
<div class="col-md-6">
<div class="col-md-11 col-md-offset-1">
<div class="form-group">
<?= Html::textInput('name', '', ['class' => 'form-control', 'placeholder' => 'Ваше имя']) ?>
</div>
<div class="form-group">
<?= Html::textInput('phone', '', ['class' => 'form-control', 'placeholder' => 'Ваш номер телефона']) ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="col-md-11 col-md-offset-1">
<div class="form-group">
<div class="form__select">
<?= Html::dropDownList('specialist', '', ArrayHelper::map($items, 'id','name'),
['prompt' => 'Выбериате специалиста','class' => 'form-control']); ?>
</div>
</div>
</div>
<?= Html::submitButton('Записаться', ['class' => 'btn btn-large btn__bg pull-right']) ?>
</div>
<div class="clearfix"></div>
<?
Html::endForm();
Pjax::end();
?>