j_insert_update – zaawansowane programowanie – dynamiczne podpowiedzi

Wprowadzając dane na formularzu użytkownik ma zwykle ustawiony opis wyświetlany po lewej stronie kontrolki (caption), czyli podpowiedź co należy w danym miejscu wpisać, wybrać itp.

Krótki opis może być niewystarczający, można co prawda stosować placeholder jako zawartość kontrolki typu input do podpowiedzi, gdy kontrolka jest pusta – brak danych, jednak można zastosować tooltip do wyświetlania ładnej podpowiedzi przy określonym zdarzeniu.

Artykuł zawiera opis wykorzystania funkcji StudioSystem o nazwie: JqxTooltip

 

Funkcja JqxTooltip

Funkcja przyjmuje następujące parametry obowiązkowe:

  • Nazwa kontrolki do której zostanie dodany komunikat
  • Treść komunikatu

Parametry opcjonalne

  • Czas w milisekundach wyświetlania okienka podpowiedzi, jeżeli nie został podany to domyślnie komunikat wyświetlany jest przez 3000 milisekund.

Projektując formularz j_insert_update dla pola nazwa kontrahenta (NAZWA) dodajemy w kolumnie parametr

onfocus=JqxTooltip(‚NAZWA’, ‚Wpisz nazwę klienta’)

jqxtooltip konfiguracja

 

Czyli definiujemy, że przy zdarzeniu uzyskania przez kontrolkę NAZWA aktywnego fokusa (zaznaczenia zarówno za pomocą myszki jak i przejścia klawiszem TAB) zostanie wywołana funkcja JqxTooltip, która wskazuje na kontrolkę NAZWA, a treść wyświetlanego komunikatu to: Wpisz nazwę klienta

 

W efekcie użytkownik programu zobaczy

jqxtooltip

Ponieważ mamy możliwość wskazania nazwy kontrolki, może zastosować wyświetlenie komunikatu przy innej kontrolce, np. zmieniamy

onfocus=JqxTooltip('MIEJSCOWOSC', 'nie zapomnij o polu <br/> MIEJSCOWOŚĆ')

czyli jeżeli pole nazwa kontrahenta uzyska focus, użytkownik kliknie na to pole lub przejdzie kursorem, to wyświetli się komunikat dla pola MIEJSCOWOSC, zwróć uwagę, że w treści komunikatu użyłem znacznika HTML </br> który spowoduje przejście do nowej linii.

jqxtooltip 2

Możesz więc spróbować formatować treść komunikatu

onfocus=JqxTooltip('MIEJSCOWOSC', 'nie zapomnij o polu <br/><b>MIEJSCOWOŚĆ</b>')

Aby uzyskać taki efekt:

jqxtooltip 3

 

A co gdy jest więcej parametrów ?

Nie ma kłopotu, możemy po znaczniku średnika ; dodawać kolejne, także zdarzenia, np dla kontrolki kod pocztowy (KODPOCZTOWY) mamy zdefniowane pole typu MASK oraz parametry:

mask=##-###; onfocus=JqxTooltip('KODPOCZTOWY', 'kod pocztowy w formacie ##-###')

jqxtooltip kodpocztowy

W efekcie działanie będzie takie, że zostanie przekazany parametr formatujący pole kod pocztowy oraz dodana obsługa zdarzenia onfocus.

jqxtooltip kodpocztowy 2

 

 

Podsumowanie

Za pomocą standardowej funkcji JqxTooltip możemy wyświetlać dowolne podpowiedzi przy dowolnych kontrolkach.