Как выделить текст в формк?
Необходимо сделать выделение участка текста который определяется регулярным выражением. Как это сделать?
Спасибо. |
<!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> |
Спасибо 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> |
Valentin555,
а body у вас немноговато? а html? |
Извините господа ) не тот кусок скопировал. но результат не поменялся, То есть, нужна функция, которая бы при вызове выделяла часть текста по регулярке, вот для тестирования повесил ее на онлоад, но не работает...
не могу понять причину... <!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> |
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,
причина указана в 4 посте --- или в 6 посте смотрите на строку 2 и мидитируйте |
В Хроме и опере работает! В Firefox - не работает!
Не подскажите что ему еще нехватает? :) |
Valentin555,
фокуса не хватает - это без шуток ))) |
Valentin555,
добавил фокус в 6 пост -- смотрите |
рони, что <html>, что <head>, что <body> - не являются обязательными тегами. Их можно смело опустить. Знающие это люди пишут эти тэги только из соображений удобства. И их отсутствие не может что-либо сломать (разве что возможность прописать атрибуты). Если хотите знать, это 100% корректный и валидный HTML-документ:
<!DOCTYPE html> <title>The Title</title> И нет смысла ставить обработчик в атрибут onload. Почему бы просто не написать: window.onload = function() { // код }; Однако лучше и вовсе обойтись без этого и просто опустить скрипт в конец документа ( как у меня в примере) |
danik.js, вы для меня кладезь знаний :write:
ваша информация будет полезной для Valentin555, но если писать теги то писать их надо правильно, иначе браузер подкорректирует на свой лад и код лучше писать кросбраузерно а не только для хрома. |
рони, danik.js спасибо огромное, помогли очень! все работает! Ребята, поздравляю Вас особенно, и всех участников форума с праздниками! желаю все самого позитивного!
П.С. посоветуйте литературу, чтоб я понял откуда это все взялось и как делается. скачал себе по яваскрипт книгу (подробно руководство) но там этого нет. В общем посоветуйте литературу хорошую вообще по языку и конкретно по затронутой теме. Еще раз большое спасибо! |
Часовой пояс GMT +3, время: 02:48. |