Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выделить часть текста в INPUT
 
 автор: Job   (28.07.2011 в 13:32)   письмо автору
 
 

Привет!
Подскажите пожалуйста как выделить часть текста в 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();"> 




Так же мне известны символы, которые мне нужно выделить, так что если есть вариант выделить символы "вет" в слове "Привет" будет отлично.

В интернете ничего не нашел, может кто уже использовал?

СПАСИБО! )

  Ответить  
 
 автор: Агамемнон   (28.07.2011 в 15:21)   письмо автору
 
   для: Job   (28.07.2011 в 13:32)
 

Вряд ли такое вообще возможно.Теоретически можно присвоить введенное слово переменной,обкорнать его,как требуется,а потом динамически снова добавить в значение атрибута value поля и выделить его,но,полагаю,это не то,что Вам нужно.А вообще интересно,зачем такая функция нужна?Какая от нее польза?

  Ответить  
 
 автор: Job   (28.07.2011 в 16:03)   письмо автору
 
   для: Агамемнон   (28.07.2011 в 15:21)
 

Делаю выбор города из списка, хочу чтобы как пользователь начинает вводить название города, подходящий автоматически вбивался в форму.

Аналог адресной строки у оперы. Например начинаю писать yan - а он уже мне yandex.ru дописывает сам. При этом я могу написать yandex.ru полностью или после ввода yan нажать Enter.

  Ответить  
 
 автор: Valick   (28.07.2011 в 21:06)   письмо автору
 
   для: Job   (28.07.2011 в 16:03)
 

а нужен именно инпут? я так подозреваю на JS можно и черта лысого сделать, не то что поле для ввода, вон целые редакторы пишут

  Ответить  
 
 автор: Владимир55   (29.07.2011 в 11:32)   письмо автору
 
   для: 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>

  Ответить  
 
 автор: АЯ   (29.07.2011 в 13:04)   письмо автору
 
   для: Владимир55   (29.07.2011 в 11:32)
 

<input type="submitbutton" value="ok" onclick="rgrg();">  

  Ответить  
 
 автор: Владимир55   (29.07.2011 в 13:40)   письмо автору
9.1 Кб
 
   для: АЯ   (29.07.2011 в 13:04)
 

Я это исправил, но изменений не обнаружил.

В приложении скриншот того, что наблюдается на мониторе. Текст в форму добавил для сравнения - и не пойму, где же здесь выделение?

Может, я вообще неверно понимаю задачу. Я полагал, что слово "выделено" в окне будет отличаться от остальных, введенных в окно. Или это не так?
Что должен давать этот код?

  Ответить  
 
 автор: АЯ   (29.07.2011 в 13:47)   письмо автору
7.3 Кб
 
   для: Владимир55   (29.07.2011 в 13:40)
 

См. аттач - после нажатия на OK

  Ответить  
 
 автор: Владимир55   (29.07.2011 в 14:16)   письмо автору
8.7 Кб
 
   для: АЯ   (29.07.2011 в 13:47)
 

Так там всё выделяется (приложение).

  Ответить  
 
 автор: АЯ   (29.07.2011 в 14:42)   письмо автору
 
   для: Владимир55   (29.07.2011 в 14:16)
 

Дык топикстартер ТАК и написал: "Есть такая штука, но она выделяет весь текст в инпуте, а нужно к примеру последние 3 символа."

Вы этот скрипт ("штуку") и разбираете. Тот, который ВСЁ выделяет.

А вот скрипт, который топикстартеру "нужен" и который выделяет только три символа - я дал ниже.

  Ответить  
 
 автор: Владимир55   (29.07.2011 в 15:10)   письмо автору
 
   для: АЯ   (29.07.2011 в 14:42)
 

Похоже, что я принял желаемое за действительное.

А нужно то вот что.

Нужно, чтобы в форме выделялось конкретное слово, прописанное в коде. Причем до клика по вводу, а как только посетитель это слово написал, так оно и выделилось. Лучше всего цветом, или жирным шрифтом. Чтобы он сразу увидел, что ввел запрещенное слово.

Это возможно?

  Ответить  
 
 автор: АЯ   (29.07.2011 в 15:25)   письмо автору
 
   для: Владимир55   (29.07.2011 в 15:10)
 

1. Чтобы выделить в поле ввода цветом/жирностью/курсивом отдельные слова/символы - нужно использовать свойство isContentEditable для тега <input> (либо для <textarea>)

2. Но наличие этого атрибута, в свою очередь, позволит юзеру САМОМУ менять стиль как всего содержимого (так и отдельных слов/символов).

3. С этой открывающейся для юзера возможностью придётся бороться, блокируя нажатия юзером сочетаний клавиш (типа Ctrl+B или Ctrl+I)

Резюме: сделать вполне возможно, но... лично я этим заниматься не буду.
Лениво, ибо, по большому счёту, это извращение никому не нужно :-))

  Ответить  
 
 автор: Владимир55   (29.07.2011 в 15:52)   письмо автору
 
   для: АЯ   (29.07.2011 в 15:25)
 

Спасибо.

Мне "бороться" с пользователем не придется, поскольку пользователем являюсь я сам.
Для редактирования вывожу текст в форму в качестве предзаполнения textarea и требуется выделить точки, завершающие предложения (в этой операции я разбиваю слишком большой текст на обзацы).
При длительной работе глаза изрядно устают, а цветная жирная точка позволила бы упростить дело.

  Ответить  
 
 автор: АЯ   (29.07.2011 в 16:33)   письмо автору
 
   для: Владимир55   (29.07.2011 в 15:52)
 

???

Зачем вообще напрягать глаза?

Вы что, на самом деле копируете какой-то текст, вставляете этот текст в <textarea>, а затем ВРУЧНУЮ делите его на абзацы, ориентируясь на точки в конце предложений?

Вам не приходило в голову, что это можно автоматизировать, не напрягая своё зрение?:-))

  Ответить  
 
 автор: Владимир55   (29.07.2011 в 16:55)   письмо автору
 
   для: АЯ   (29.07.2011 в 16:33)
 

Всё, что представлялось рациональным, изначально автоматизировалось. Но некоторую окончательную правку приходится делать вручную.

Если бы требовалось разделить на абзацы, оставив в каждом по одному повествовательному предложению, то так бы и сделали. А требуется делить по литературному смыслу, проистекающему из содержания. Это особенность обрабатыаемого текста - почти миллион знаков без единого абзаца, которые нужно привести к нормальному виду.

В общем, как редактор решил, так и будет сделано.

  Ответить  
 
 автор: АЯ   (29.07.2011 в 11:30)   письмо автору
 
   для: 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>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования