According to the API if you set the POPUPINPUTONLY to true then no keyboard input is possible - but only selection from the popup-method’s help.
I have a field like this:
<field valueprop="accountName"
popupmethod="onSelectCurrentAccount"
popupinputonly="true"
popupicon="../XXX/images/CurrentAccount16.gif">
</field>
public void onSelectCurrentAccount() {
openPopup("currentaccount.AccountList.html");
}
Although you cannot enter anything to the field, since the cursor keeps blinking, it gives the impression that you CAN ENTER something! And when you try to enter something to the field, it automatically opens the pop-up.
For EVERY KEY PRESS EVENT it opens another POP-UP :!:
I think, showing the field as DISPLAYONLY (i.e. gray) when you set POPUPINPUTONLY might be a good idea.
…that’s by intention: the field is still inputable, it would be wrong to display the field as display only field - this would give the user the impression that the value cannot be changed, what is definitely not the case. The user sees by the blue selection icon that this is a popup-only field.
That’s also the reason behind opening the poup with keystroke. The user wants to input something, but can only do it by popup ==> as consequence the popup is opened to let the user select.
Hope this explanation is fair…
Bjoern
But as I mentioned in my previous post, for EVERY KEY PRESS EVENT it opens another POP-UP :!:
When you try to enter something quickly (e.g. try to write a word in the field quickly) it invokes the adapter method (bound to POPUPMETHOD property) several times. For that reason I have to make my own control in the adapter method as follows:
public void onSelectXXX() {
if (!adapter.isOpen()) {
adapter.setOpen(true);
openPopup(aURL);
}
}