Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Форум для новичков » Фокус при открытии страницы редактирования (в конце текста) - реально?


Фокус при открытии страницы редактирования (в конце текста) - реально?

Сообщений 1 страница 5 из 5

1

Здравствуйте!
Сейчас при открытии редактирования сообщения, курсор мыши на первом символе в поле... (скриншот прикрепляю).
Можно ли как-то сделать, возможно через скрипты форума, чтобы при открытии страницы редактирования сообщения, чтобы курсор мыши был на последнем символе в поле редактирования сообщения? Реально ли это вообще сделать?
Заранее спасибо за помощь!
https://upforme.ru/uploads/0000/14/1c/30086/t48902.png

(только что поискал в яндексе, вроде как это возможно, но не понятно как это правильно сделать):
https://upforme.ru/uploads/0000/14/1c/30086/t922017.png

Отредактировано megagogo (Чт, 17 Июл 2025 21:07:03)

0

2

Попробуйте такой вариант:

Код:
<script>
(function () {
    $(document).on("pun_preedit", function () {
        var mreply = document.getElementById('main-reply');
        mreply.focus();
        var vlng = mreply.value.length;
        mreply.setSelectionRange(vlng, vlng);
        mreply.scrollTop = mreply.scrollHeight;
    });
})()
</script>

// обновил, добавил прокрутку до курсора

Отредактировано Reysler (Вчера 10:37:04)

+3

3

Reysler написал(а):

Попробуйте такой вариант:

Код:
<script>
(function () {
    $(document).on("pun_preedit", function () {
        var mreply = document.getElementById('main-reply');
        mreply.focus();
        var vlng = mreply.value.length;
        mreply.setSelectionRange(vlng, vlng);
        mreply.scrollTop = mreply.scrollHeight;
    });
})()
</script>

// обновил, добавил прокрутку до курсора

Здравствуйте! Подскажите, а в какое поле этот код нужно вставлять? Только что попробовал в html (верх) и html (в форме ответа), к сожалению не заработало((

****
я извиняюсь, только что проверил, надо все-таки в html (в форме ответа) добавлять, оно работает, если просто нажать на кнопку "редактировать", как я и хотел в целом...

Может вы знаете, можно ли сделать тоже самое (желательно с прокруткой тоже если сообщение длинное), но только при открытии отдельной страницы редактирования сообщения, например по адресу:
форум/edit.php?id=9862 (как вариант примера). Т.е. чтобы когда я открываю отдельную страницу редактирования сообщения, чтобы оно также курсор на последний символ переводило?)

Отредактировано megagogo (Вчера 16:25:58)

0

4

Если для обычных форм редактирования и ajax, то как-то так:

Код:
<script>
(function () {
    function punreplyedit() {
        var mreply = document.getElementById('main-reply');
        if (mreply) {
            mreply.focus();
            var vlng = mreply.value.length;
            mreply.setSelectionRange(vlng, vlng);
            mreply.scrollTop = mreply.scrollHeight;
        }
    }

    $(document).on("pun_preedit", function () {
        punreplyedit()
    });
    if (document.getElementById('main-reply')) {
      punreplyedit();
    }
})()
</script>

+2

5

Reysler написал(а):

Если для обычных форм редактирования и ajax, то как-то так:

Код:
<script>
(function () {
    function punreplyedit() {
        var mreply = document.getElementById('main-reply');
        if (mreply) {
            mreply.focus();
            var vlng = mreply.value.length;
            mreply.setSelectionRange(vlng, vlng);
            mreply.scrollTop = mreply.scrollHeight;
        }
    }
 
    $(document).on("pun_preedit", function () {
        punreplyedit()
    });
    if (document.getElementById('main-reply')) {
      punreplyedit();
    }
})()
</script>

Спасибо большое! Только что проверил - этот вариант работает просто идеально!

0


Вы здесь » Единый форум поддержки » Форум для новичков » Фокус при открытии страницы редактирования (в конце текста) - реально?