powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Навигация в tabular form
25 сообщений из 36, страница 1 из 2
Навигация в tabular form
    #37908882
batyev007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Как сделать навигацию клавишами (стрелками) вверх-вниз по редактируемым полям tabular form ?
спасибо
...
Рейтинг: 0 / 0
Навигация в tabular form
    #37909800
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
batyev007Как сделать навигацию клавишами (стрелками) вверх-вниз по редактируемым полям tabular form ?

Через Dynamic Action, который будет отслеживать нажатия клавиатуры в регионе с формой.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #37909889
batyev007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разжуйте пож-та поэтапно, я в апекс недавно.
Где вставляется dinamic action и что в ней прописывать ?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Навигация в tabular form
    #38718042
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLer,

тоже заинтересовал данный вопрос. Event прописывать Key Press?
Каким образом распознавать, какая клавиша нажата?
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38718088
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По коду клавиш, но это не очень затея, тк не кроссбраузерно.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38718134
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38718504
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал я через них получается фигня какая то.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38719073
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kasik,

а какие ещё варианты?
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38719098
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Варианта 2: делать и не делать. Фигня может получиться всегда и из всего, надо сделать чтобы фигни не было. Не вижу проблем с задачей. Проверяешь клавишу, JS ставим фокус в нужный элемент, все просто. Я думаю даже старые IE умеют клавиши ловить.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38719256
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто, в моем случаи, мне надо было кроссброузерное решение, это решение таким не оказалось, и с том же IE не заробило... Вообщем дальше с задачей не стал загоняться и отложил. Если вы найдете, я только ха и самому будет интересно.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38719276
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jQuery кроссбраузерный. Не знаю что там могло не получиться.
Логика такая:
1) Вешаем событие keypress на ячейку региона отчета
2) Если это стрелка, то вычисляем номер ячейки и номер строки
3) Переходим на строку выше/ниже с нужным номером ячейки
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38719554
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не получилось, не в логике, а в физике. Не реагировало в IE, другой механизм обработки событий от клавы видимо в нем.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38723422
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

а каким образом вешать именно на ячейку?
Я пробовал в Selection Type указывать Region, но именно Region на KeyPress не реагирует...
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38723453
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весёлый,

Проверил я IE, там правда стрелочки работают только внутри инпута и в логи нажатий не попадают.
http://yandex.ru/yandsearch?text=IE js keypress arrow in input&lr=240
Попробуйте поищите, может поможет, возможно завтра будет время, тоже посмотрю.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38723553
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В своё время использовал вот это:

jQuery plugin for hooking keyboard events

Некоторые комбинации клавишь в некоторых браузерах могут не работать, проверяется на демке.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38727771
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

стрелочки стали работать - нагуглил информацию, что они не опознаются именно KeyPress. С KeyDown всё в порядке. Теперь пытаюсь разобраться с механизмом поиска ячейки, в которую нужно переместить.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38728930
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Путем перелопачивания интернета и тыкания наобум написал код:
Код: javascript
1.
if(event.keyCode==40) t = event.target;



который в консоли выдаёт выбранную ячейку. Кто-нибудь может подсказать, каким образом теперь передвинуть курсор? Создавать ещё один True Action с Get Focus? Передадутся ли в него данные? И как лучше это сделать?
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38731094
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В итоге у меня вышел такой код:

Код: 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.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
t = event.target;
if (parseInt(t.id.substr(2, 1)) < 10) z1 = 'f0';
else z1 = 'f';

cell1 = z1 + String(parseInt(t.id.substr(2, 1)));
r='';

for (i=1; i < 5; i++)
   {
      if (t.id.substr(3+i,1) == '0')
         {
            r = r + '0';
         }
      else
         {
            row1 = r + t.id.substr(3+i,4-i+1);
            if (event.keyCode == 38) rn = parseInt(t.id.substr(3+i, 4-i+1)) - 1;
            if (event.keyCode == 40) rn = parseInt(t.id.substr(3+i, 4-i+1)) + 1;
            break;
         }
   }

if (rn < 10) r = '000';
if (rn >= 10 && rn < 100) r = '00';
if (rn >= 100) r = '0';
   
if(event.keyCode==39) //вправо
   {
      cell2 = z1 + String(parseInt(t.id.substr(2, 1)) + 1);
      nid = t.id.replace(cell1, cell2);
      q = document.getElementById(nid);
      q.focus();
      q.select();
   }
if(event.keyCode==37) //влево
   {
      cell2 = z1 + String(parseInt(t.id.substr(2, 1)) - 1);
      nid = t.id.replace(cell1, cell2);
      q = document.getElementById(nid);
      q.focus();
      q.select();
   }
if(event.keyCode==38) //вверх
   {
      row2 = r + String(rn);
      nid = t.id.replace(row1, row2);
      q = document.getElementById(nid);
      q.focus();
      q.select();
   }
if(event.keyCode==40) //вниз
   {
      row2 = r + String(rn);
      nid = t.id.replace(row1, row2);
      q = document.getElementById(nid);
      q.focus();
      q.select();
   }



Текущая проблема в том, что q.select() не выделяют текст в ячейке, на которую перемещается фокус. Если набрать q.select() в консоли, то текст выделяется. В чём может быть причина?
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38731176
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весёлый,

Может нужно 2 раза сделать селект?
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38731225
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

пробовал - не в этом причина.
Кстати, в ИЕ даже смена фокуса не работает, но это уже второстепенный вопрос.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38731296
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весёлый,

http://jsfiddle.net/2dm4o8bv/

У меня норм.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38731417
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

а у меня вот так:
https://apex.oracle.com/pls/apex/f?p=60219:8:11087646..:::::
Имя: a.veseliy@sibenugol.ru
Пароль: 1234567890
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38731513
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весёлый,

Мой пример работает?

В q что попадает?
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38731523
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

да, работает.

В q попадает ячейка. Например:
Код: javascript
1.
<input type=&#8203;"text" name=&#8203;"f05" size=&#8203;"16" maxlength=&#8203;"2000" value=&#8203;"7698" id=&#8203;"f05_0003" autocomplete=&#8203;"off">&#8203;
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38731671
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю я, что происходит это из-за собственно стрелочки. То есть фокус - выделили - сработала стрелочка и выделение спало.
Возможные решения:
1) Обрабатывать другое событие - например keyup то есть когда кнопку уже подняли.
2) Делать preventdefault типа чтобы игнорировалось действие.

В 1-м варианте более вероятен успех.
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Навигация в tabular form
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]