[HTML] select и copy&paste

zya369

как проще всего сделать, чтобы на [мульти]селекте Ctrl-C работало? Хочется, чтоб юзер CTRL-C нажал и в буфер скопировалось, например, value выбранных пунктов (или текст - без разницы)

sbs-66

никак по хорошему. Разве что скриптом перехвативать нажатие соответсвующих клавиш, формировать нужный текст и класть его в буфер, но это не во всех браузерах будет работать и не при всех настройках безопасности

zya369

блин, неужто так сложно было сделать что б Ctrl-C работал :(
это авторы браузеров сцуки или на то есть какие-то отмазки?

Andr163

ну сделай рядышком кнопку, при нажатии на которую значения копируй в буфер :)

Commandor

Как уже написал - не во всех браузерах работать будет. (например js в firefox работать с буфером не умеет)

sbs-66

Ну, в качестве отмазки могу предложить лишь то, что это никому не надо. Т.е. скопировать ты его скопируешь, но куда вставлять будешь? Если в текст, то это обычно не нужно, а если в [мульти]селект, то надо, чтобы в нём те же значения были, что крайне маловероятно.

sbs-66

Как раз про фаерфокс недавно выясняли и оказалось, что умеет. ИЕ тоже умеет, но по-своему. А вот опера нет.

Commandor

Если не лазить в about:config, то не умеет. Или я что-то пропустил?

sbs-66

Я хз, я FF не пользуюсь. Там вроде есть какой-то механизм для XUL, и он работает и в скриптах на страничках, хотя возможно надо что-то в настройках поменять.

Commandor

чтоб на страничках заработало нужно менять конфиг фаерфокса. в расширениях разумеется работает поумолчанию.

hwh2010

сделай рядышком поле, в котором будет отображаться текущий выбор в селекте. А из него копируй.
Есть ещё план совсем извратного решения. Это текстовое поле сделать небольшим, чем-то закрыть его.
При попадении фокуса на селект, отдавать фокус текстовому полю. А оно пусть реагирует на нажатия клавиш "вверх" и "вниз" изменением выбранного элемента в селекте. Но это всё изврат.

zya369

Ну, в качестве отмазки могу предложить лишь то, что это никому не надо.

есть мультиселект в котором несколько значений (длинных и не тривиальных - в смысле там не слова)ю Один пользователь хочет послать другому свои настройки - он делает Ctrl-C и в письмо вставляет текст (это собсно то, чего хотят в моем конкретном случае) варианты типа завести [видимое] поле и в нем отображать значение из селекта введет большинство юзеров в замешательство :( а со скрытым полем - слишком геморно :)

dedwowan

Не используй мультиселект.
Например замени его таблицей с чекбоксами или просто группой чекбоксов.

pitrik2

а не проще было бы сделать кнопку отправки по почте настроек?
вряд ли настройки токо в одном селекте есть, не будешь же ты так каждый селект копировать/вставлять
а по кнопке они бы сразу все улетали бы

zya369

там не нужно посылать все настройки + далеко не всем юзерам это надо
+ мыло было в качестве примера - вместо него вполне может быть какой-нить мессенджер

Dasar

варианты типа завести [видимое] поле и в нем отображать значение из селекта введет большинство юзеров в замешательство
можно это сделать также, как делается с печатью: есть кнопка (что-то типа "данные для копирования" при нажатии на которую, открывается форма в которой выводится именно то, что ты хочешь

zya369

можно это сделать также, как делается с печатью: есть кнопка (что-то типа "данные для копирования" при нажатии на которую, открывается форма в которой выводится именно то, что ты хочешь

это-то понятно, я примерно так в итоге и решил делать..
просто думал вдруг есть способ заставить "стандартно" работать

tamusyav

Хочется, чтоб юзер CTRL-C нажал и в буфер скопировалось, например, value выбранных пунктов
У этого есть два, и оч-чень больших минуса. Первое - это неочевидно. То есть комментарий на эту тему нужно будет где-то оставить. Но даже при наличии этого комментария пользователь может (читай: будет) время от времени удивляться: а чего это copy-paste так странно работает - копировал вроде только вот эту цифирь, а он мне вон какую простыню выдал?
Второе - это непереносимо. Что ты будешь говорить пользователю, у которого нет клавиши Ctrl?

zya369

Первое - это неочевидно.

имхо, если чел нажал Ctrl-C сразу после выделения чего-то в селекте - это более или менее очевидно (что в буфер скопируется то, что выбрано)
хотя, если после этого он выбрал какой-нить текст на странице - тут могут быть непонятки, да :)
Что ты будешь говорить пользователю, у которого нет клавиши Ctrl?

я таких клавиатур не видел и таких юзеров среди целевой аудитории наверняка нету :)
Так что ни один из этих минусов ОГРОМНЫМ я бы не назвал :)

Bibi

я таких клавиатур не видел и таких юзеров среди целевой аудитории наверняка нету
экранные клавиатуры смартфонов/кпк ?
Оставить комментарий
Имя или ник:
Комментарий: