Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как выделить текст в формк? (https://javascript.ru/forum/events/43762-kak-vydelit-tekst-v-formk.html)

Valentin555 19.12.2013 18:09

Как выделить текст в формк?
 
Необходимо сделать выделение участка текста который определяется регулярным выражением. Как это сделать?
Спасибо.

danik.js 19.12.2013 18:48

<!DOCTYPE html>
<textarea>сделать выделение участка текста</textarea>
<script>
    var textarea = document.querySelector('textarea');
    var pattern = /выделени[а-я]/i;
    var match = textarea.value.match(pattern);
    if (match) {
        textarea.selectionStart = match.index;
        textarea.selectionEnd = match.index + match[0].length;
    }
</script>

Valentin555 20.12.2013 01:05

Спасибо danik.js, но я вот повесил эту функцию но событие загрузки страницы и почему-то не срабатывает.
что я сделал не так?

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
function selector2() {
    var textarea = document.querySelector('textarea');
    var pattern = /выделени[а-я]/i;
    var match = textarea.value.match(pattern);
    if (match) {
        textarea.selectionStart = match.index;
        textarea.selectionEnd = match.index + match[0].length;
    }
}
</script>
</head>
<body>
<body onLoad="selector2();">
<textarea>сделать выделение участка текста</textarea>
</body>
</html>

рони 20.12.2013 01:12

Valentin555,
а body у вас немноговато? а html?

Valentin555 20.12.2013 01:34

Извините господа ) не тот кусок скопировал. но результат не поменялся, То есть, нужна функция, которая бы при вызове выделяла часть текста по регулярке, вот для тестирования повесил ее на онлоад, но не работает...
не могу понять причину...

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
function selector2() {
    var textarea = document.querySelector('textarea');
    var pattern = /выделени[а-я]/i;
    var match = textarea.value.match(pattern);
    if (match) {
        textarea.selectionStart = match.index;
        textarea.selectionEnd = match.index + match[0].length;
    }
}
</script>
</head>
<body onLoad="selector2();">
<textarea>сделать выделение участка текста</textarea>
</body>
</html>

рони 20.12.2013 01:37

Valentin555, дружите с тегами и всё получится
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
function selector2() {
    var textarea = document.querySelector('textarea');
    var pattern = /выделени[а-я]/i;
    var match = textarea.value.match(pattern);
    if (match) {
        textarea.selectionStart = match.index;
        textarea.selectionEnd = match.index + match[0].length;
    };
textarea.focus()
}
</script>
</head>
<body onLoad="selector2();">
<textarea>сделать выделение участка текста</textarea>
</body>
</html>

Valentin555 20.12.2013 01:39

Так, может торможу просто.. что не так? только без обид! )

Valentin555 20.12.2013 01:43

Это почему-то в мозилле не работало... в опере сработало... попробую обновить мозиллу...
или не сработало в ней по другим причинам?

рони 20.12.2013 01:50

Valentin555,
причина указана в 4 посте --- или в 6 посте смотрите на строку 2 и мидитируйте

Valentin555 20.12.2013 01:53

В Хроме и опере работает! В Firefox - не работает!
Не подскажите что ему еще нехватает? :)


Часовой пояс GMT +3, время: 10:34.