Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Можно ли одновременно изменить фон и текст в поле? (https://javascript.ru/forum/events/1835-mozhno-li-odnovremenno-izmenit-fon-i-tekst-v-pole.html)

Bad Request 23.09.2008 15:27

Можно ли одновременно изменить фон и текст в поле?
 
Здравствуйте. Есть форма для ввода текста.
<form>
<input type="text" onfocus="this.style.background='#FFF0C6'" onblur="this.style.background=''"/>
<p>
<textarea cols="40" rows="10" onfocus="this.style.background='#FFF0C6'" onblur="this.style.background=''">
</textarea>
</p>
</form>

Можно ли при событии onfocus изменить не только цвет фона поля, но еще и стиль текста одновременно? Если да, то как?

SunnyDay 23.09.2008 15:28

Стандартным элементом textarea - нет, но можно написать свой.

ZoNT 23.09.2008 15:37

textarea.onfocus = function() {
  this.style.fontStyle = "italic";
  this.style.color = "red";
  this.style.fontWeight = "bold";
}

SunnyDay 23.09.2008 15:42

Упс, я подумал что нужны разные стили для разных текстовых выражений в текстареа.

Bad Request 23.09.2008 16:42

Спасибо, ZoNT! Я должен вам море бухла.
Скажите, а можно написать универсальную функцию, чтобы она меняла фон и текст при обращении к любому полю в форме?

ZoNT 23.09.2008 16:55

можно. Только я занят и писать не хочу :)
И ещё: я не пью :)

Bad Request 23.09.2008 17:11

Ладно, буду сам ковырять.
Не пьете? А я вас научу. Вы меня кодировать, а я вас злоупотреблять.

ZoNT 23.09.2008 17:16

Дык я уже третий год как завязал..

Gvozd 24.09.2008 22:38

Цитата:

Сообщение от Bad Request
Скажите, а можно написать универсальную функцию, чтобы она меняла фон и текст при обращении к любому полю в форме?

<form>
<input type="text" onfocus="this.style.background='#FFF0C6'" onblur="this.style.background=''"/>
<p>
<textarea cols="40" rows="10" onfocus="set_style(style)" onblur="this.style.background=''">
</textarea>
</p>
</form>

function set_style(obj) {
  obj.style.fontStyle = "italic";
  obj.style.color = "red";
  obj.style.fontWeight = "bold";
}

Bad Request 24.09.2008 23:11

Весьма признателен, Gvozd! А ведь не зря говорят, что пьющие люди добрее! Только так, как вы написали, не пашет:
<textarea cols="40" rows="10" onfocus="set_style(style)">

Так пашет:
<textarea cols="40" rows="10" onfocus="set_style(this)">

А как же мне сделать, чтобы при событии onblur шрифт и цвет фона опять становились по умолчанию?
Я написал еще одну функцию:
<textarea cols="40" rows="10" onfocus="set_style(this)" onblur="rst(this)">

function rst(obj) 
{
	obj.style.fontStyle = "";
  obj.style.color = "";
  obj.style.fontWeight = "";
}

Есть более умный способ?

Gvozd 25.09.2008 01:14

по поводу set_style(style), так это просто опечатка, но вы молодец, что поняли что я хотел сказать))))
по поводу второго вопроса,честно говоря, я не вижу более умного способа.
проще и удобне некуда, а это гдавное, ИМХО

зато можно поизвращатся, на тему навешивания обработчиков после загрузки страницы, либо вешания онблюра в время онфокуса))))
ЗЫ всегда готов принять благодарность посредством вебмани))))))выведу и пропью)))

Bad Request 25.09.2008 10:10

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

Gvozd 25.09.2008 23:10

СМС-кошелька я не имею.
да и на самом деле, мне стыдно брать деньги за свою помощь ТУТ.
я сюда прихожу отдохнуть.почитать статьи товарищей ушедших дальше меня в этой области. помочь таким же как и я, либо успевшим изучить чуть меньше. но главное что все мы здесь умеем думать, а не только использовать чужой труд, и нам интересен JavaScript в тех или иных аспектах. есть конечно те, кто не особо шарят, и не хотят/не умеют учится самостоятельно.Я таким не люблю помагать.
А деньги я предпочитаю зарабатывать в другом месте.
на бирже фрилансеров, и в универе, в виде стипухи.
Так что, если вопрос стоит в виде "а хуй поймеш как работает этот ModRewrite. в документации написано совсем другое!!!", то я постараюсь помочь чем могу, и забесплатно.
а вот если надо сделать какой-нибудь более-менне серьезный модуль, или проект, то тут уже без денег я как правило не берусь.
ЗЫ шото я тут пафоса навел очень много. набрал пива полную морозилку, и отмечаю что завтра пятница)))))
ЗЫЫ OFFTOPIC!!!!!!111111111


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