|
|
|
| Привет!
Подскажите пожалуйста как выделить часть текста в INPUT type=text ??
Есть такая штука, но она выделяет весь текст в инпуте, а нужно к примеру последние 3 символа.
<script>
function rgrg()
{
document.getElementById('gfwegeewg').select();
}
</script>
<input type="text" id="gfwegeewg" name="ewf" size="40" maxlength="256" value="wefwefwef">
<input type="submit" value="ok" onclick="rgrg();">
|
Так же мне известны символы, которые мне нужно выделить, так что если есть вариант выделить символы "вет" в слове "Привет" будет отлично.
В интернете ничего не нашел, может кто уже использовал?
СПАСИБО! ) | |
|
|
|
|
|
|
|
для: Job
(28.07.2011 в 13:32)
| | Вряд ли такое вообще возможно.Теоретически можно присвоить введенное слово переменной,обкорнать его,как требуется,а потом динамически снова добавить в значение атрибута value поля и выделить его,но,полагаю,это не то,что Вам нужно.А вообще интересно,зачем такая функция нужна?Какая от нее польза? | |
|
|
|
|
|
|
|
для: Агамемнон
(28.07.2011 в 15:21)
| | Делаю выбор города из списка, хочу чтобы как пользователь начинает вводить название города, подходящий автоматически вбивался в форму.
Аналог адресной строки у оперы. Например начинаю писать yan - а он уже мне yandex.ru дописывает сам. При этом я могу написать yandex.ru полностью или после ввода yan нажать Enter. | |
|
|
|
|
|
|
|
для: Job
(28.07.2011 в 16:03)
| | а нужен именно инпут? я так подозреваю на JS можно и черта лысого сделать, не то что поле для ввода, вон целые редакторы пишут | |
|
|
|
|
|
|
|
для: Valick
(28.07.2011 в 21:06)
| | Интересно, а что (по замыслу автора) должен делать написанный им для примера код? У меня он вообще ничего не выделяет:
<script>
function rgrg()
{
document.getElementById('odin').select();
}
</script>
</head>
<body>
<form method="post">
<input type="text" id="odin" name="ewf" size="40" maxlength="256" value="выделено">
<input type="submit" value="ok" onclick="rgrg();">
</form>
|
| |
|
|
|
|
|
|
|
для: Владимир55
(29.07.2011 в 11:32)
| |
<input type="submitbutton" value="ok" onclick="rgrg();">
|
| |
|
|
|
|
 9.1 Кб |
|
|
для: АЯ
(29.07.2011 в 13:04)
| | Я это исправил, но изменений не обнаружил.
В приложении скриншот того, что наблюдается на мониторе. Текст в форму добавил для сравнения - и не пойму, где же здесь выделение?
Может, я вообще неверно понимаю задачу. Я полагал, что слово "выделено" в окне будет отличаться от остальных, введенных в окно. Или это не так?
Что должен давать этот код? | |
|
|
|
|
 7.3 Кб |
|
|
для: Владимир55
(29.07.2011 в 13:40)
| | См. аттач - после нажатия на OK | |
|
|
|
|
 8.7 Кб |
|
|
для: АЯ
(29.07.2011 в 13:47)
| | Так там всё выделяется (приложение). | |
|
|
|
|
|
|
|
для: Владимир55
(29.07.2011 в 14:16)
| | Дык топикстартер ТАК и написал: "Есть такая штука, но она выделяет весь текст в инпуте, а нужно к примеру последние 3 символа."
Вы этот скрипт ("штуку") и разбираете. Тот, который ВСЁ выделяет.
А вот скрипт, который топикстартеру "нужен" и который выделяет только три символа - я дал ниже. | |
|
|
|
|
|
|
|
для: АЯ
(29.07.2011 в 14:42)
| | Похоже, что я принял желаемое за действительное.
А нужно то вот что.
Нужно, чтобы в форме выделялось конкретное слово, прописанное в коде. Причем до клика по вводу, а как только посетитель это слово написал, так оно и выделилось. Лучше всего цветом, или жирным шрифтом. Чтобы он сразу увидел, что ввел запрещенное слово.
Это возможно? | |
|
|
|
|
|
|
|
для: Владимир55
(29.07.2011 в 15:10)
| | 1. Чтобы выделить в поле ввода цветом/жирностью/курсивом отдельные слова/символы - нужно использовать свойство isContentEditable для тега <input> (либо для <textarea>)
2. Но наличие этого атрибута, в свою очередь, позволит юзеру САМОМУ менять стиль как всего содержимого (так и отдельных слов/символов).
3. С этой открывающейся для юзера возможностью придётся бороться, блокируя нажатия юзером сочетаний клавиш (типа Ctrl+B или Ctrl+I)
Резюме: сделать вполне возможно, но... лично я этим заниматься не буду.
Лениво, ибо, по большому счёту, это извращение никому не нужно :-)) | |
|
|
|
|
|
|
|
для: АЯ
(29.07.2011 в 15:25)
| | Спасибо.
Мне "бороться" с пользователем не придется, поскольку пользователем являюсь я сам.
Для редактирования вывожу текст в форму в качестве предзаполнения textarea и требуется выделить точки, завершающие предложения (в этой операции я разбиваю слишком большой текст на обзацы).
При длительной работе глаза изрядно устают, а цветная жирная точка позволила бы упростить дело. | |
|
|
|
|
|
|
|
для: Владимир55
(29.07.2011 в 15:52)
| | ???
Зачем вообще напрягать глаза?
Вы что, на самом деле копируете какой-то текст, вставляете этот текст в <textarea>, а затем ВРУЧНУЮ делите его на абзацы, ориентируясь на точки в конце предложений?
Вам не приходило в голову, что это можно автоматизировать, не напрягая своё зрение?:-)) | |
|
|
|
|
|
|
|
для: АЯ
(29.07.2011 в 16:33)
| | Всё, что представлялось рациональным, изначально автоматизировалось. Но некоторую окончательную правку приходится делать вручную.
Если бы требовалось разделить на абзацы, оставив в каждом по одному повествовательному предложению, то так бы и сделали. А требуется делить по литературному смыслу, проистекающему из содержания. Это особенность обрабатыаемого текста - почти миллион знаков без единого абзаца, которые нужно привести к нормальному виду.
В общем, как редактор решил, так и будет сделано. | |
|
|
|
|
|
|
|
для: Job
(28.07.2011 в 13:32)
| | Да без проблем:
<input id="inp" value="Привет!">
<input type="button" onclick="mFunc ()" value="Go">
<script>
function mFunc ()
{
document.getElementById ('inp').focus ();
if (navigator.userAgent.indexOf ('MSIE') > 0)
with (document.selection.createRange ())
{moveStart ('character', 3); moveEnd ('character', 3); select ()}
else document.getElementById ('inp').setSelectionRange (3, 6);
}
</script>
|
| |
|
|
|