powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Навигация в tabular form
11 сообщений из 36, страница 2 из 2
Навигация в tabular form
    #38731725
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

за время пути до дома с работы пришёл к той же мысли. :)
Перевесил на Key Release - заработало. Спасибо за помощь.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38732677
Полено
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весёлый,

https://apex.oracle.com/pls/apex/f?p=60219:8:6250072609621:::::
Можно взглянуть на исходник ?
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38732765
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жаль в ИЕ все равно не работает.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38733822
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Полено,

исходник тот же, что приведён на первой странице.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38733823
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Образовалась следующая проблема: при использовании в форме выпадающих списков, при смене с них фокуса у них меняется значение. Каким образом можно это заблокировать?
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38733832
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем понятно поведение. То есть кликнули по списку, ушли с него и поменялось значение?
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38733877
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

не кликнул, а перевёл на него фокус. После этого, при переводе фокуса на следующую ячейку, значение текущей изменяется.
Чтобы было понятней, изменил в https://apex.oracle.com/pls/apex/f?p=60219:8:6250072609621::::: один из столбцов на Select List.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38733894
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весёлый,

Пробуйте на keypress делать preventdefault чтобы отключить стандартное поведение списка.

Вероятность что поможет мала.

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

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

Стили, аттрибуты, зависит от браузера. В последних версиях есть стили для блокировки листа через CSS, иначе через аттрибуты дисаблед.
...
Рейтинг: 0 / 0
Навигация в tabular form
    #38735916
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил вопрос таким способом:
Код: 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.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
t = event.target;
colCount = t.parentElement.parentElement.parentElement.childElementCount;
cell1 = t.id.substr(0, 3);

r='';
cn = 0;
colAct = 0;
rn = 0;

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 (event.keyCode == 37) //влево
   {
      if (parseInt(t.id.substr(1, 1)) == 0) colAct = parseInt(t.id.substr(2, 1));
      else colAct = parseInt(t.id.substr(1, 2));

      for (i = colAct; i > 0; i--)
         {
            if (parseInt(t.id.substr(1, 1)) == 0) 
               {
                  z1 = 'f0'
                  cn = i - 1;
               }
            else
               {
                  cn = i - 1;
                  if (cn < 10) z1 = 'f0'
                  else z1 = 'f';
               }

            cell2 = z1 + String(cn);
            nid = t.id.replace(cell1, cell2);
            q = document.getElementById(nid);
            if (q.tagName != 'SELECT') break;
         }
      q.focus();
      q.select();
   }

if (event.keyCode == 39) //вправо
   {
      if (parseInt(t.id.substr(1, 1)) == 0) colAct = parseInt(t.id.substr(2, 1));
      else colAct = parseInt(t.id.substr(1, 2));

      for (i = colAct; i < colCount; i++)
         {
            if (parseInt(t.id.substr(1, 1)) == 0) 
               {
                  cn = i + 1;
                  if (cn < 10) z1 = 'f0'
                  else z1 = 'f';
               }
            else
               {
                  cn = i + 1;
                  if (cn < 10) z1 = 'f0'
                  else z1 = 'f';
               }

            cell2 = z1 + String(cn);
            nid = t.id.replace(cell1, cell2);
            q = document.getElementById(nid);
            if (q.tagName != 'SELECT') break;
         }
      q.focus();
      q.select();
   }

if (rn < 10) r = '000';
if (rn >= 10 && rn < 100) r = '00';
if (rn >= 100) r = '0';
   

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();
   }
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Навигация в tabular form
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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