Столкнулся с такой проблемой:
между отправками данных на сервер и получением результата (0.5-2 сек) требуется сделать несколько inputов неактивными (там текстовые поля и чекбоксы).
Первое, что приходит в голову, это установка disabled=true, но при этом цвет инпутов меняется на серый (неактивный) - для меня это неприемлимо...
Есть ли способ сделать инпуты неактивными (будто бы у них disabled=true), при этом не изменяя их внешний вид?
Заранее спасибо.
Спустя 29 минут, 30 секунд (15.01.2009 - 21:27) sergeiss написал(а):
"Поиграйся" со стилями. А именно, с цветом фона у инпутов и цветом символов.
Штука рабочая
Правда, я использую это для ограничений при простом вводе текста. Чтобы можно было сделать некоторые текстовые поля чисто информационными, но чтобы они не были другого цвета (фактически, то же, что и ты делаешь).
PS. Вот такую вещь надо сделать (цвета - для примера, белый фон и черные буквы - можно любые взять), но только средствами ДжавыСкрипт : style="background-color:#FFFFFF; color:#000000"
Точнее говоря, фон-то белый получается, а буквы все равно серые.
Штука рабочая

PS. Вот такую вещь надо сделать (цвета - для примера, белый фон и черные буквы - можно любые взять), но только средствами ДжавыСкрипт : style="background-color:#FFFFFF; color:#000000"
Точнее говоря, фон-то белый получается, а буквы все равно серые.
Спустя 5 часов, 31 минута, 10 секунд (16.01.2009 - 02:59) CaXaP написал(а):
За совет спасибо)
Правда фон и так был белым, а буквы серыми))))
Меня вот не устраивает именно это "мигание".
Т.е. становление букв серыми на полсекунды...
Мб какой-нибудь альтернативный способ есть?
У меня были мысли перехватывать нажатия кнопок и возвращать содержимым полей их исходные значения. Но это пляски с бубном и хотелось бы чего-нибудь попроще)
Правда фон и так был белым, а буквы серыми))))
Меня вот не устраивает именно это "мигание".
Т.е. становление букв серыми на полсекунды...
Мб какой-нибудь альтернативный способ есть?
У меня были мысли перехватывать нажатия кнопок и возвращать содержимым полей их исходные значения. Но это пляски с бубном и хотелось бы чего-нибудь попроще)
Спустя 17 минут, 51 секунда (16.01.2009 - 03:16) kirik написал(а):
CaXaP, а этот вариант пойдет?
Код |
<script> function ge(id) { return document.getElementById(id); } function disable(obj, id) { if(ge(id).disabled) { ge(id).disabled = false; obj.value = 'Disable'; } else { ge(id).disabled = true; obj.value = 'Enable'; } } </script> <input type="text" value="text" id="test" style="border: 1px solid #ccc; background: #f9f9f9; color: #333;" /><br /> <input type="button" onclick="disable(this, 'test')" value="Disable" /> |
Спустя 6 часов, 20 минут, 45 секунд (16.01.2009 - 09:37) sergeiss написал(а):
Вот еще мысль появилась 
Реализовать несложно, да и выглядеть будет "красиво".
Суть простая: надо выставлять состояние disabled в обработчике onmouseover (когда мышА проходит над объектом), и только тогда, когда происходит ожидание данных. Это позволит, во-первых, избавиться от любого "мигания" (его просто не будет), во-вторых, юзер не сможет ничего нажать (ты его жестко ограничишь), и, в-третьих, при попытке что-то нажать юзер увидит, что он этого сделать не сможет (по изменению цвета объекта, который, т.е. цвет, можно оставить "по умолчанию").
В итоге и волки сыты, и овцы целы.
И это существенно проще, чем перехватывать нажатия. Лучше просто не давать ничего нажимать.

Реализовать несложно, да и выглядеть будет "красиво".
Суть простая: надо выставлять состояние disabled в обработчике onmouseover (когда мышА проходит над объектом), и только тогда, когда происходит ожидание данных. Это позволит, во-первых, избавиться от любого "мигания" (его просто не будет), во-вторых, юзер не сможет ничего нажать (ты его жестко ограничишь), и, в-третьих, при попытке что-то нажать юзер увидит, что он этого сделать не сможет (по изменению цвета объекта, который, т.е. цвет, можно оставить "по умолчанию").
В итоге и волки сыты, и овцы целы.
И это существенно проще, чем перехватывать нажатия. Лучше просто не давать ничего нажимать.
Спустя 2 часа, 52 минуты, 52 секунды (16.01.2009 - 12:30) FatCat написал(а):
input type=image не спасет от мигания?

Спустя 21 минута, 39 секунд (16.01.2009 - 12:52) sergeiss написал(а):
Цитата (FatCat @ 16.01.2009 - 12:30) |
input type=image не спасет от мигания? ![]() |
Придется тогда переделывать скрипт, чтобы на базе имиджа делать видимость чекбокса.
Фигасе, спасёт

Спустя 2 дня, 3 часа, 57 минут, 5 секунд (18.01.2009 - 16:49) Alchemist написал(а):
хм.. господа, а что про аттрибут readonly вообще никто не слыхал ?
Спустя 2 часа, 43 минуты, 7 секунд (18.01.2009 - 19:32) sergeiss написал(а):
Посмотрел я описалово для инпута... Не вижу там свойства readonly
Если можно его использовать - приведи код?
Вот то, что я писал про использование mouseover & mouseout - я проверял уже, поэтому был уверен, когда писал в этой теме. А с readonly не уверен...
Всё, что я нашел связанное с этим словом - это указание на то, что какие-то свойства могут быть readonly, но такого свойства нигде не нашел, ни для какого бы то ни было объекта.

Если можно его использовать - приведи код?
Вот то, что я писал про использование mouseover & mouseout - я проверял уже, поэтому был уверен, когда писал в этой теме. А с readonly не уверен...
Всё, что я нашел связанное с этим словом - это указание на то, что какие-то свойства могут быть readonly, но такого свойства нигде не нашел, ни для какого бы то ни было объекта.
Спустя 13 минут, 31 секунда (18.01.2009 - 19:45) Sylex написал(а):
Alchemist
слыхали, тока внешний вид от него тож немного меняется
слыхали, тока внешний вид от него тож немного меняется

Спустя 1 час, 44 минуты, 13 секунд (18.01.2009 - 21:30) CaXaP написал(а):
Всем спасибо за ответы)
2kirik
Честно не понял чем Ваш код отличается от того, что использовался у меня - Вы также просто присваиваете свойство disabled = true, а я уже писал, что это мне не подходит, ибо поле становится серым.
2sergeiss
Хорошая идея! Её и реализовал - выглядит и вправду хорошо)
Правда срабатывает только onmouseover, а onmouseout не работает...
Странно, но в целом бог с ним - за эти 1-2 секунды юзер особенно это и не заметит. Спасибо.
Про readonly тоже ничего не слышал =\
2kirik
Честно не понял чем Ваш код отличается от того, что использовался у меня - Вы также просто присваиваете свойство disabled = true, а я уже писал, что это мне не подходит, ибо поле становится серым.
2sergeiss
Хорошая идея! Её и реализовал - выглядит и вправду хорошо)
Правда срабатывает только onmouseover, а onmouseout не работает...
Странно, но в целом бог с ним - за эти 1-2 секунды юзер особенно это и не заметит. Спасибо.
Про readonly тоже ничего не слышал =\
Спустя 10 минут, 32 секунды (18.01.2009 - 21:40) kirik написал(а):
CaXaP, если прописать стиль для элемента, то он не сереет (в ФФ).
а вообще можно сделать onkeypress="return false" для текстового поля и onclick="return false" для чекбоксов.
а вообще можно сделать onkeypress="return false" для текстового поля и onclick="return false" для чекбоксов.
Спустя 12 часов, 36 минут, 44 секунды (19.01.2009 - 10:17) Guest написал(а):
М... стиль я прописывал - он не помог... (в ИЕ по крайней мере - а он для меня глваенствующий).
Про onkeypress да... можно попробовать, однако идея с затемнением при наведении мне больше подходит - чтоб юзер при попытке клика всё же видел, что контрол отключён, а не жал безрезультатно, покрывая сайт матами "почему не жмёца кнопко".
Про onkeypress да... можно попробовать, однако идея с затемнением при наведении мне больше подходит - чтоб юзер при попытке клика всё же видел, что контрол отключён, а не жал безрезультатно, покрывая сайт матами "почему не жмёца кнопко".
_____________