Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: Forza от 22 Июля 2004, 20:04:56
-
Какой самый универсальный (поддерживаемый большинством браузеров) способ показывать и убирать заранее предопределённый текст?
Пока приходит в голову объявить Text to show & hide!
и функциях меняеть его параметр p1.style.display с пустого \'\' на \'none\' и обратно.
Если будет возможность динамически менять сам текст, вообще будет здорово.
Кстати, может кто-нибудь понятно объяснить, что значит значение \'block\' для style.display? Пытался понять это с помощью мануалов: увы, не удалось. :(
-
show
test
"Block" означает блочный элемент. Т.е. элемент, который имеет А)изменяемое положение на странице, Б)возможность установки полей и границ и еще несколько особенностей.
В отличии от "Inline" - это позиционирование прямо в тексте.
Word видел? Так вот, кусок строки - это как элемент inline, а абзац - как block.
Да, для предыдущего примера - изменение текста
test it!
[off]Чуйка подсказывает, что кто-нибудь меня пнет за некорректность высказываний[/off]
-
CGVictor:
show
test
CGVictor:
test it!
И в каких броузерах это будет работать?
К сожалению, нет возможности проверить это самому. ;)
-
CGVictor:
Да, для предыдущего примера - изменение текста
test it!
Ещё вопросик про изменение текста. Если мне надо вставить форматированный текст с тегами или картинку цвета фона в качестве отступа, то как поступить? Если написать onMouseOver="p1.innerText=\'Красный текст\', то он так и выведет чёрный неформатированный текст Красный текст со всеми тегами.
Аналогично, если вставлять тег .
-
Forza:
innerText
innerHTML вообче-то надо - тыж HTML код вставляешь
-
ThE0ReTiC:
innerHTML вообче-то надо - тыж HTML код вставляешь
Спасибо. Всё работает!
И последний вопрос - этот innerHTML всеми броузерами поддерживается?
-
[off]Вопрос не в тему:
а на зачем тебе понадобилось вставлять такое innerHTML-ом?
По моему опыту, всегда можно обойтись...[/off]
Forza:
этот innerHTML всеми броузерами поддерживается?
Многими... :)
-
CGVictor:
Вопрос не в тему:
а на зачем тебе понадобилось вставлять такое innerHTML-ом?
По моему опыту, всегда можно обойтись...
А чем такое вставлять? Чем посоветовали, то и использую.
Задачей является вставить произвольное количество строк типа
текст
.
-
Forza:
вставить произвольное количество строк типа
Ну, это-то я уже догадался.
Просто, если все это генерируется на сервере - то имхо проще style.display (быстрее и глюков обычно меньше), а если на клиенте - то непонятно, зачем такое может понадобиться.
-
CGVictor:
а если на клиенте - то непонятно, зачем такое может понадобиться
Это генерируется на клиенте.
Клиент заполняет регистрационную форму, и в случае нахождения ошибок в пустой параграф выводятся по строке на каждую ошибку.
Конечно, это можно делать и на сервере, но на клиенте, понятно, быстрее.
Что-то не так?
-
Forza:
Конечно, это можно делать и на сервере, но на клиенте, понятно, быстрее.
Нет-нет, всё так.
Я бы просто сделал по слою на ошибку в каждом возможном поле (т.е."Непр.имя", "Непр.пароль" и т.д.) и выводил бы их.
А так - все ОК.
[off]Только ты мне скажи, для очистки моей совести, ты их и на сервере проверяешь, да?
Положительный ответ приветствуется.[/off]
-
CGVictor:
Я бы просто сделал по слою на ошибку в каждом возможном поле (т.е."Непр.имя", "Непр.пароль" и т.д.) и выводил бы их.
Я пока не умею работать со слоями. Покажешь пример? ;)
CGVictor:
Только ты мне скажи, для очистки моей совести, ты их и на сервере проверяешь, да?
Положительный ответ приветствуется.
Да, конечно. Если на сервер придут неправильные данные (JS отключен или ещё почему-то), то он их обнаружит и выдаст ошибки в таком же формате.
-
Forza:
Я пока не умею работать со слоями
Ну, здрасте.
А DIV - что, по твоему?
Как бы сделал я:
Выложил бы на страницу описание каждой ошибки, с форматированием и прочим HTML. Для каждой - свой DIV, display:none.
По результатам работы скрипта, проверяющего форму, какие-то из DIV-ов делал видимыми.
Почему:
1.Дизайн ошибок четко определяется во время проектирования
2.Работает быстрее
3.Если захочу поменять дизайн - все спокойно и без напрягов
4.Никто не мешает загнать описание одной ошибки в шаблон и генерить эти описания на серваке (а вдруг пригодится?)
5.Нет километрового скрипта с innerHTML.
Вот. Убедил?
-
CGVictor,
Как обстоит с этой задачей в Нетскейп?
Если писать p1.innerHTML или d1.style.display, то Нетскейпа пишет "p1 is not defined". Аналогично он писал, если к форме обращаться просто по имени - в этом случае выручило обращение как document.formName. Но если также обратиться к параграфу или слою, т.е. document.p1.innerHTML, document.d1.style.display, то Нетскейпа пишет "p1 has no properties".
-
Forza
Сейчас не помню, но как-то делал.
Скатал on-off слоев из кода MMDreamweaver. Он там всепогодный :)
Как только буду с работой посвободнее - скину кусок кода. Тут заказчик буянит...
Ты не в обиде?
-
CGVictor:
Ты не в обиде?
Да ты что, какая ещё обида? ;) Подожду, конечно.
[OFF]Кстати, какое отношение ты имеешь к NOC RunNet (ты упоминал их в другом треде)? Можно и прайвэтом на это ответить[/OFF]
-
Forza
[off]NOC Runnet -
У меня: их халявный инет
У них: головная боль от моего халявного инета[/off]
Forza:
какая ещё обида
Ну, вдруг... А в MMDW то же скрытие слоев, просто там написано так, как NN понимает.
И, по-моему, он понимает только скрытие-показ DIV-элементов. Не помню сейчас точно...