![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| krasgames |
|
|||
|
Старый мастер ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 4.12.2009 Репутация: нет Всего: нет |
Задача такая: есть текстовое поле, куда вводится некоторый текст. Вдруг возникла необходимость добавить букву греческого алфавита. Нужно сделать панель кнопок типа электронная клавиатура, чтобы при нажатии на визуальный греческий символ в текст, где последний раз был курсор, добавлялась греческая буква.
Алгоритм я вобще не понимаю. Начнем с того, что самое заумное, что я знаю по этому поводу, это то, что каждой букве присвоена некоторая последовательность чисел, набрав которую в зажатием какой-то клавиши в виндовс можно получить желаемый символ, даже если его нет на клавиатуре. А в html тоже существует какое-то правописание символов. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
а что тут заумного? 24 кнопки, все имеют обработчик, к примеру для /дельта/ onclick="insertSimbol('greece', 3);" который из массива для греческого языка выбирает 3-ый символ, то есть его utf-8 номер, и вставляет в нужное место, как в любой форме с биби-кодами
|
|||
|
||||
| krasgames |
|
|||
|
Старый мастер ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 4.12.2009 Репутация: нет Всего: нет |
Я вставил рядом с окном текста <a href="javascript:void(0);" onclick="insertSimbol('greece', 3);">Дельта</a>. В браузере тыкнул на окно, а потом на кнопку, не получилось. Ну для меня это нормально=) А что значит void?
|
|||
|
||||
| krasgames |
|
|||
|
Старый мастер ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 4.12.2009 Репутация: нет Всего: нет |
Если я не накосячил, то предлагайте еще варианты. Вообще я пишу это в tpl файлах, где <script> ставится в {literal} (а почему?). Может тут как-то иначе надо мутить?
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
у меня такое смутное подозрение, что insertSimbol вы не описали. в том смысле, что вам ещё придётся её придумать
|
|||
|
||||
| krasgames |
|
|||
|
Старый мастер ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 4.12.2009 Репутация: нет Всего: нет |
А ну да. А как ее придумать)
ksnk, да я хочу сам написать. Это сообщение отредактировал(а) krasgames - 28.3.2010, 16:25 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
так, флаг в руки. продумать структуру и работу. не сложно же предположить, что нужно иметь набор этих кодов (массив), потом научиться вставлять по нажатию кнопки нужное значение массива в поле. а потом найти способ, как же вставлять его на место курсора. что из этого не получается, а что уже сделано? |
|||
|
||||
| krasgames |
|
|||
|
Старый мастер ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 4.12.2009 Репутация: нет Всего: нет |
Второе и третье не плучается=)
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
а что не получается? как выглядит код? что он делает не так/не делает так как надо?
|
|||
|
||||
| krasgames |
|
|||
|
Старый мастер ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 4.12.2009 Репутация: нет Всего: нет |
Он не появляется у меня в голове и все и написать его не могу. Нада первый уровень ответа из закрепленного поста про то, как надо зажавать вопросы, хотя поиском я умею пользоваться=)
|
|||
|
||||
| EmilRegis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 306 Регистрация: 21.9.2007 Репутация: 3 Всего: 4 |
когда я писал вирт клавиатуру, то делал следующим образом...
1. Текстовое поле - событие onfocus - в глобальную переменную запоминается id этого поля 2. Рисовал виртуальную клавиатуру - у меня был массив, содержащий значения символов ("\u0446"-соответствует ц, "\u0443" - соответствует у)...Так же определяете коды необходимых вам символов и составляете из них массив 3. Далее в цикле из этого массива формируется список кнопок, при этом на каждую кнопку вешается функция, которая при тынце принимает код этого символа 4. Эта функция по запомненному нами ранее id получает текстовое поле, куда надо вставить и добавляет туда этот символ |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |