Доброго времени суток. Помогите, пожалуйста побороть проблему. Есть код:
<?php echo Html::beginForm(); ?>
<div class = "form-horizontal" role = "form" id = "form_message">
<div class = "input-group">
<?php echo Html::activeTextInput($form_model, 'message', ['class' => 'form-control', 'value'=>'', 'autofocus'=>true]); ?>
<?php echo Html::activeHiddenInput($form_model, 'group_id', ['value'=>$group_model->group_id]); ?>
<?php echo Html::activeHiddenInput($form_model, 'to_user', ['value'=>Yii::$app->user->id == $group_model->user_to ? $group_model->user_from : $group_model->user_to]); ?>
<span class="input-group-btn">
<?php echo Html::submitButton('Отправить', ['class' => 'btn btn-default']); ?>
</span>
</div>
</div>
<?php echo Html::endForm(); ?>
<?php echo Html::error($form_model, 'message'); ?>
<?php
yii\widgets\Pjax::begin(['options' => ['id'=>123]]);
echo ListView::widget([
'dataProvider' => $dataProvider,
'itemView' => '_message',
'layout' => "{items}\n{pager}"
]);
yii\widgets\Pjax::end();
?>
И
function updateMessage(){
$.pjax.reload({container: '#123'});
}
$(document).ready(function(){
setInterval(updateMessage, 3000);
});
Но беда в том, что я думал, что PJAX обновляет только определенный кусочек, а всё остальное остаётся нетронутым, однако фокус у формы теряется. Подскажите, пожалуйста, как сделать так, чтобы ListView обновлялся, всё остальное оставалось нетронутым (в том числе и фокус формы). Пробовал после успешного обновления делать фокусировку с помощью JS, но беда в том, что сайт ещё и для мобильника рассчитан, и постоянно-появляющаяся клавиатура пользователю думаю не очень понравится.