Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обрамление текста в input (https://javascript.ru/forum/misc/51894-obramlenie-teksta-v-input.html)

SLASH_id 24.11.2014 13:08

Обрамление текста в input
 
Здравствуйте.

Имеется классическая форма с полями типа:
Код:

<input type="text" name="client_company_full" value="{$vars.client.company_full|escape:"html"}" style="width:100%;" />
Создать элемент (кнопку, флажок, линк, не важно), по клику на который содержимое конкретного инпута обрамлялось заданными символами.

К примеру. В инпуте - "Вася".
По кликe на элемент должно стать <font color=red>Вася</font>

Это вообще реально?

krutoy 24.11.2014 13:58

SLASH_id,
обрамить то легко, только вот зачем? Тебе надо, чтобы цвет применился или чо? Просто обрамление вот:
<!DOCTYPE HTML>
<html>
  <head><meta charset="windows-1251" /> </head>
  <body>
<input></input>
<button>push</button>
<script>

input=document.querySelector("input")
button=document.querySelector("button")
button.onclick=function(){
     input.value="<font color='red'>"+input.value+"</font>"
}




</script>
  </body>
</html>

SLASH_id 24.11.2014 14:02

Во! Класс. То что надо.
Все хитро. Это самописная web-CRM, инпуты вообще не фильтруются. И если потом дергать из базы этого клиента в список, то применятся все теги что я туда вобью.

Только ....
Хм...

Что-то не отрабатывает скрипт. Инпутов на странице много. Как заставить выбрать конкретный?

krutoy 24.11.2014 14:18

Цитата:

Сообщение от SLASH_id
Как заставить выбрать конкретный?

По id можно
<!DOCTYPE HTML>
<html>
  <head><meta charset="windows-1251" /> </head>
  <body>
<input id="input">
<button>push</button>
<script>
 
input=document.querySelector("#input")
button=document.querySelector("button")
button.onclick=function(){
     input.value="<font color='red'>"+input.value+"</font>"
}
 
 
 
 
</script>
  </body>
</html>

SLASH_id 24.11.2014 14:29

Да.
Так должно работать...

Но столкнулся с проблемой. Сразу по клику на кнопку, добавляется обрамление, но страница уходит в релоад без сохранения изменений.
Такое впечатление что отрабатывает кнопка Сохранить ниже.

<input type="submit" onclick="document.forms['client'].action='{$PHP_SELF}?razd={$razd}&amp;main=clients{if $sec eq 'edit_client'}&amp;part=edit_client&amp;id={$smarty.get.id}{/if}&amp;sec={$sec}&amp;do={$do}';document.forms['client'].submit()" style="width:100%;" value="Сохранить" />


Можно это дело обойти?

krutoy 24.11.2014 14:35

SLASH_id,
Попробуйте дописать
button.onclick=function(){
     input.value="<font color='red'>"+input.value+"</font>"
     return false
}
Или вынести button из form

SLASH_id 24.11.2014 14:46

Благодарю.

То, что нужно!

рони 24.11.2014 15:25

SLASH_id,
добавьте в button type="button" чтоб это была простая кнопка а не submit


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