• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Поле типа Listbox.

  • Автор темы Автор темы DNT
  • Дата начала Дата начала
D

DNT

На форме есть поле типа ListBox, список которого жестко задан: числа от 0 до 9.
когда пользователь меняет значение поля нажатием кнопок "вверх/вниз" - число визуально в поле изменяется, НО если взять значение этого поля, например uidoc.document.f1(0), то оно не поменялось (осталось старое). Решается эта проблема "кликаньем" по самому полю, оно становится выделенным и теперь можно брать uidoc.document.f1(0), значение будет верным. Т.е. когда меняем значение в поле, потом нужно ещё переместить фокус на него.

Вопрос: как сделать так, чтоб не было необходимости подтверждать свой выбор кликаньем по полю? Необходимо чтоб пользователь менял значение и нажимал кнопку, без необходимости кликать по полю.

p.s. как-то сумбурно я всё объяснил :) ... прилагаю картинку, если не понятно, разъясню подробно
 

Вложения

  • 123.JPG
    123.JPG
    6,2 КБ · Просмотры: 549
По-моему, нужно делать свои кнопки.
 
По-моему, нужно делать свои кнопки.


Пробовал. В таком случае большая задержка между кликом по кнопке и изменением числа в поле. Неудобно, допустим в поле число 9, тебе надо выставить 5 - логично было бы быстро щелкнуть по кнопке "вниз" четыре раза, но на практике после четырех кликов будет 6 или 7. Дискомфорт еще хуже чем при использовании ListBox.
 
а не пробовал научить юзера нажимать Enter (пробел) для подтверждения?..
на самом-то деле это не глюк, это правильная работа элемента, т.е. есть фокус предполагаемого значения, а есть выбранное значение..
 
Вообще странно использовать скроллинг для изменения значений. :)
 
а не пробовал научить юзера нажимать Enter (пробел) для подтверждения?..
на самом-то деле это не глюк, это правильная работа элемента, т.е. есть фокус предполагаемого значения, а есть выбранное значение..


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

А программно получается никак нельзя? Допустим не в момент изменения поля, а в момент нажатия по кнопке "Подтвердить" как-то изменить выбранное значение поля на то что под фокусом?

Вообще странно использовать скроллинг для изменения значений. :)

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

Это всё понятно. Я собственно хотел получить ответ и получил: реализовать на ListBox нельзя. Буду использовать ComboBox.
Всем спасибо.
 
DNT

Notes sucks! - как раз и у меня имеется аналогичная проблема на данный момент - только с ComboBox (по сути не важно ListBox или ComboBox).
В пользовательском диалоге инициализирую 2 ComboBox поля - по дефолту почему-то выставляются последние значения. Так вот если эти значения удовлетворяют мне - я ничего не меняю и соответственно значения из берутся из первых значений ... короче, пока забил на это путем инициализации этих ComboBox-ов из других полей, так что при открытии диалога эти поля пусты и юзеру обязательно нужно их потрогать ...
 
Murtas, слишком категоричное заявление... я и поинтереснее проблемы встречал...
думаю, что ты просто чего-то не учитываешь... во всяком случае из того, что ты написал че-то не логично получается... либо слишком сумбурно написано...
если хочешь инициализировать комбу нужным значением, то пишешь его в default value и все корректно инициализируется...
 
думаю, что ты просто чего-то не учитываешь... во всяком случае из того, что ты написал че-то не логично получается... либо слишком сумбурно написано...
если хочешь инициализировать комбу нужным значением, то пишешь его в default value и все корректно инициализируется...

Возможно я чего-то не учитываю, поэтому и хочу учесть это здесь :( ... а default value чевота не работает тоже ... я и @Subset юзал и [] - не фурычит!
 
Да всё работает. Просто список значений должен быть внесён до установки дефолтного значения.
 
Ура заработало!

Раньше я ставил в default value для поля FieldValue -> FieldValue[1]
А теперь FieldValue -> FieldValues[1]
 
вот видишь, а ты говоришь нотес-сакс...
 
Akupaka, в нормальных языках/скриптах обычно справляются с одним полем в таком случае...
 
Murtas, чесгря, я не понял что и почему у тебя не получилось :() но я уверен, что это лишь от недостатка опыта ;)
понятие "нормально" тут не применимо, т.к. если бы до этого сидел на лотусе, а потом перешел на како-нить делфи, то нормально было бы иначе :(
 
Akupaka, так а чего ты так уверен, если ты не понял :) ...

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

Про нормально - если я выбирал в поле 10-й элемент в списке а после нажатия кнопки это стало в в 0-й позиции ... да и список в этом поле стал уже не списком - как это назвать? Правильно - лотусная привычка :).

ЗЫ... вы тока поймите меня правильно - я ни в коем случае не против лотуса, так как сам с лотусом связан ... просто я оптимистически надеюсь, что со временем лотус не помрет и будет идти наравне с современными IDE и языками программирования.

Все тема закрыта.
 
"все беды от неудовольствия проистекають, вот ежели дать человеку всё..."
не нравится реализация интерфейса в Нотес - ну дык есть LS2J и наборчики от AWT до swing (в поддерживаемые версии домины, он входит)...
лепите свои интерфейсы - какие хотите
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab