![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Как в textarea перети на новую строчку нажав Shift + Enter? А по Enter отправить форму?
|
|||
|
||||
| dsCode |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 565 Регистрация: 8.9.2007 Где: Saint-Petersburg Репутация: 19 Всего: 26 |
Elfet,
- повесить onkeydown на texare'ю; - обработать в нем e.keyCode (13) и e.shifKey (если оба присутствуют - сделать this.value += '\n', если только первый - отправка формы), также предотвратить дефолтные события |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Ок, спасибо!
|
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
А как сделать так что бы ещё при нажатии на enter новая строчка не появлялась?
Это сообщение отредактировал(а) Elfet - 6.2.2008, 11:45 |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Наверное, вместо text.value = ''; написать evt.returnValue; и следом сабмит вашей формы, попробуйте.
-------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
У меня никакой формы нет. только textarea. evt.returnValue?
|
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Да, этим вы отмение обработчика события имеющегося по умолчанию. Прервете обработку события (перевод на новую строку). А форму можете не отправлять, просто, Вы в первом посте написали про отправку формы по нажатию Enter. -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| Elfet |
|
||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Да, точно. Неточность
Так как этим воспользоваться? Как прервать событие?
|
||||
|
|||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Как-то мучался с такого рода обработкой, сочинилось вот это
писать нужно return clearEv(evt); -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
evt.returnValue = null; - тока в IE работает?
Добавлено через 1 минуту и 39 секунд ksnk, ооо!! отлично работает! везде? |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Я пока не встречал мест, где бы она не работала ;-) Я, правда, бываю не везде. Ie-6/7 FF, Опера 9.25...
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Я сам путаный, Вы меня ещё запутали...
Строчка
отменит выполнение обработки события evt, в данном случае keydown. Но чтобы не произошла вствка символа, по моему, нужно отменять keypress(не уверен). Вы опишите конкретно чего Вы добиваетесь. Вставляя строчку text.value = ''; Вы полностью затираете всё, что было набрано. Так и нужно? Нажатие enter при нажатом шифте и так приводит к простому переводу строки. Зачем тогда вы всё это делаете? Добавлено через 2 минуты и 47 секунд Во блин, опоздал с постом. Всё время забываю обновить страницу.... наоткрываю штук двадцать, так и висят.... ksnk, как вы догадались чего Elfet хочет добиться? Добавлено через 8 минут и 42 секунды ksnk, а что returnValue = false работает не везде? Я использую, ошибок не видел... Только я обработчиков вешаю свойством объекта. -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Дык
просто недавно к своему калькулятору в окно редактирования прикручивал Tab/Shift-Tab чтобы он не переходил по контролам, а вставлял - сдвигал блок текста... Оперу, кстати, так толком и не уговорил... Так что такие листинги, пока, узнаю "в лицо" ;-) -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Я такую фичу тоже проделывал, только давно... тогда совсем криво писал. Но у меня всё уговорилось, только заметно было, как курсор обратно встает. -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Угу... В Опере вот так и осталось, а IE и FF удалось полностью уговорить игнорировать табуляцию, а делать только то, что надо...
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |