|
|
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Привет всем. У меня в буфере обмена есть 2 строки: abc def Необходимо, чтобы при вставке из буфера (и только из буфера!) в текстбокс была проверка - если есть переос строк, то заменяем перенос на ";". Т.е. будет текстбокс выглядеть так: abc;def У меня тут есть некоторые мысли: 1)метод change для текстбокса использовать нельзя, т.к. он срабатывает, когда курсор уберу, а нужно чтобы сразу вставлялось с ";" 2)метод keypress использовть тоже нельзя, т.к. не факт, что человек будет использовать CTRL+V (он может переопределить или вставить мышкой). Есть какие идеи - какие свойства лучше использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2012, 18:04:58 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
у кого-нибудь есть идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2012, 18:28:52 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Students, делать textarea и парсить при сохранении. пользователь такие понты (при ctrl+v) едва оценит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2012, 18:47:00 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Нет, не подходит. Тут всё так: Менеджер через эксель добавляет артикулы продуктов. Он должен видеть, как скопирует из буфера, какие продукты он добавил через ";". Так вообще можно сделать или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2012, 18:50:17 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
неужели никто не знает каким образом такую хитрую операцию провернуть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 10:16:29 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Код: javascript 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 10:31:09 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Код: javascript 1. 2. 3. Такой вариант не работает -даже звездочку не показывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 10:38:49 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
В каком браузере не работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 10:39:55 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Сорри, работает. Забыл, что вместо $ я использую jq. Код: javascript 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 10:42:17 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
В каком браузере не работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 10:53:19 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Код: javascript 1. Работает во всех браузерах. Сейчас думаю - как проверить внутри этого метода - вставлена ли строка из буфера обмена (метод clipboardData) и есть ли переосы строк. Это самое сложное. Непонятно, как определить, т.к. перенос строки браузер понимает как пробел и вставляет с пробелом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 10:59:45 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Тут есть небольшая проблемка: в буфере строка: abc def вставляю в input: 1)IE abc window.clipboardData.getData('Text') работает 2)Opera abc def (3 пробела) window.clipboardData.getData('Text') не работает 3)Firefox, Chrome abc def (1 пробел) window.clipboardData.getData('Text') не работает Если я буду сравнивать вствленную строку с данными из буфера, то будет неверно, может есть другие варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 11:20:27 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
может невозможно узнать - вставлен ли текст из буфера или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 11:27:07 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
тут кто-нибудь есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 11:54:34 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Ещё раз вопрос заново. У меня в буфере обмена хранится: abc def Например, в IE вставляется: abc Необходимо вставить abc;def Поэтому необходимо заменить стандартную вставку на свою: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Прописал этот код, он работает в IE. 1)Несовсем понятно как в text2 разные строки переписать в одну и разделить их ";". 2)Несовсем понятно как отключать защиту в дугих браузерах (почитал разыне форумы, вроде это невозможно через код сделать), т.к. window.clipboardData.getData('Text') работает только в IE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 12:40:02 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 12:59:05 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
skyANA http://jsfiddle.net/a3GUL/ да не могу я использовать textarea вместо input. Если вместо <textarea id="input" row="1"></textarea> будет <input id="input" row="1"> то ничего работать не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 14:15:15 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Studentsда не могу я использовать textarea вместо input.почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 14:17:08 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
мне задание дали, я не могу менять сайт, могу только скрипт дописать. Попробуйте сами, пусть и с textarea, вставить из буфера в IE9. Вставляется только abc. \n def обрезается и не вставляется. Так что $(this).val($(this).val().replace('\n', ';')); не подходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 14:31:30 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Получается, что нужно всё равно брать из буфера (для IE): Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. вот такой код работает в IE, но из-за строчки window.clipboardData.getData('Text'); скрипт перестаёт работать в Opera, Chrome и FireFox. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 14:40:40 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Studentsскрипт перестаёт работать в Opera, Chrome и FireFox.в оных нет window.clipboardData. а Опера вообще не отлавливает "paste". В Хроме проблема легко решаема, там clipboardData есть в составе объекта-события, пример 12079052 , но там событие надо навешивать напрямую, а не через jQuery. Как быть с ФФ и Оперой - непонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 14:47:41 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
"paste" не улавливает только опера. Может вместе с paste можно параметр передать? это и будет текст нашего буфера? jq('#txtSKU').bind('paste', function (e) { }); Только не совсем понятно как его оттуда доставать. alert(e) пишет [object object] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 14:52:42 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Studentsмне задание дали, я не могу менять сайт, могу только скрипт дописать. Попробуйте сами, пусть и с textarea, вставить из буфера в IE9. Вставляется только abc. \n def обрезается и не вставляется. Так что $(this).val($(this).val().replace('\n', ';')); не подходитПопробовал, причём во всех вариантах Browser Mode. Нормально работает. А дописать скрипт так, чтобы он input на textarea заменил Вам тоже запрещено? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 15:04:48 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Нет, не запрещено, это просто. Но во всех браузерах input выглядит одинаково (см. картинку). Что будет, если я его заменю на textarea? Во всех браузерах они выглядят по разному, или их как-то можно под input стилизовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 15:10:50 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Яростный Меч, а каким именно образом нужно в chrome использовать .clipboardData? только через передаваемый параметр е? jq('#txtSKU').bind('paste', function (e) { e.clipboardData.getData('Text') - не будет работать в Chrome ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 15:35:45 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
Students, что, с CSS тоже проблема? :) Стилизуем под input: http://jsfiddle.net/a3GUL/2/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 15:42:12 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
skyANAStudents, что, с CSS тоже проблема? :) Стилизуем под input: http://jsfiddle.net/a3GUL/2/ Вы прям хитрец :-) Никто и не догадается. Я тут сделал для input, работает для всех браузеров кроме Хрома (я так и не понял как там использовать clipboardData): Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 15:45:59 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
я, кстати, не подумал, что в IE пользователь может выделить что-то мышкой и потом вставить, заменив. Поэтому нужно как-то проверять - что выделил пользователь в input (это можно проверить ???) и заменять, а не дописывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 16:21:37 |
|
||
|
jquery. Проверка вставки текста из буфера на перенос строк.
|
|||
|---|---|---|---|
|
#18+
StudentsЯростный Меч, а каким именно образом нужно в chrome использовать .clipboardData? только через передаваемый параметр е? jq('#txtSKU').bind('paste', function (e) { e.clipboardData.getData('Text') - не будет работать в Chromee.clipboardData работает, если навесить событие не через jQuery, а непосредственно элементу. А если через jQuery, то e.originalEvent .clipboardData (поскольку в этом случае у нас обертка над объектом event) вот так в Хроме делается: Код: javascript 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2012, 16:33:30 |
|
||
|
|

start [/forum/topic.php?all=1&fid=22&tid=1449438]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 357ms |

| 0 / 0 |
