Как выбрать определенный текст в текстовом поле, когда текстовое поле получает фокус

2

Я разрабатываю одно приложение ASP.NET с кодом VB. У меня есть одно текстовое поле для хранения суммы, которая содержит значение по умолчанию "0,00". Теперь проблема заключается в том, что текстовое поле получает фокус, он выбирает весь текст. Но я хочу выбрать только 0, что до точности, и я не хочу выбирать после точности.

Надеюсь, кто-то мне поможет. заранее спасибо

  • 0
    В ASP.NET такой функциональности и контроля нет. Вы можете создать свой собственный UserControl который инкапсулирует логику. Например, вы можете использовать два TextBoxes бок о бок или вам нужно возиться с javascript.
  • 0
    Спасибо за ваш комментарий. Пожалуйста, предложите мне другой способ сделать это, кроме JavaScript.
Теги:
selection

3 ответа

2
Лучший ответ

предположим, что у вас есть TextInput вы хотите выбрать его первый символ, всякий раз, когда он выбран

<input id="MyText" type="text" value="text" onclick="MyText_click()" />

и сценарий выглядит так:

<script>

    function MyText_click() {

        var input = document.getElementById("MyText");
        createSelection(input, 0, 1); // first character
    };

    function createSelection(field, start, end) {
        if (field.createTextRange) {
            var selRange = field.createTextRange();
            selRange.collapse(true);
            selRange.moveStart('character', start);
            selRange.moveEnd('character', end);
            selRange.select();
            field.focus();
        } else if (field.setSelectionRange) {
            field.focus();
            field.setSelectionRange(start, end);
        } else if (typeof field.selectionStart != 'undefined') {
            field.selectionStart = start;
            field.selectionEnd = end;
            field.focus();
        }
    }

</script>
  • 0
    я просто копирую отсюда function [Программный выбор частичного текста в поле ввода] ( stackoverflow.com/questions/646611/… ), который уже прокомментировал, и вызываю его из обработчика onclick
  • 0
    Большое спасибо, это работает. Вместо onclick я могу использовать onfocus? Потому что я хочу выбрать пока вкладку событие.
Показать ещё 6 комментариев
0

вы можете сделать это программно с помощью javascript, см. это: Программный выбор частичного текста в поле ввода

  • 0
    Спасибо за ваш ответ. Это работает в window.onload, я не хочу выполнять таким образом. Я хочу выполнить этот выбор на вкладке события или события щелчка мыши.
  • 0
    !!! Вы можете скопировать и вставить выбранную function и вызывать ее везде, где хотите. Посетите мой следующий ответ
0

Создание события для текстового фокуса

Теперь у нас есть два свойства

   txt.SelectionStart = intValue

а также

  txt.selectionLength = length;

Используйте это свойство, чтобы решить свои проблемы.

  • 0
    Спасибо за ваш ответ. SelectStart и SelectionLength доступны только в приложении Windows Forms. Мое текстовое поле - веб-контроль. Так что эти свойства не проявляются в моем разуме. Есть ли другой способ решить эту проблему?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню