![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 156 Pomógł: 31 Dołączył: 23.02.2009 Skąd: Sanok Ostrzeżenie: (0%) ![]() ![]() |
Posiadam czytnik kodów kreskowych który działa jak klawiatura, wszystko działa dobrze jeśli zaznaczymy pole formularza i zeskanujemy kod, treść kodu jest wklejana do formularza. Problem polega na ty że ta czynność musi być maksymalnie idioto odporna, także zaznaczanie za każdym pola nie wchodzi w grę. Najlepiej jeśli na ekranie byłby widoczny tylko napis w stylu "Proszę zeskanować kod..." , jednak nie mam pomysłu jak się do tego zabrać.
Półśrodek jaki znalazłem to zaznaczenie pola input podczas wczytywania strony.
Jednak, jeśli użytkownik kliknie przez przypadek gdziekolwiek w przeglądarce pole przestaje być aktywne i aby poprawnie sczytać kod musi je ponownie zaznaczyć. Byłbym wdzięczny za wszystkie sugestie |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tylko czy ciągły focus na polu pozwoli Ci operować dalej na stronie? Czy strona ma za zadanie tylko przyjmować kody? -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Albo tak:
Kod <input type="input" id="test" style="border: 2px solid red; width: 300px;" value="Aby zeskanować kod pole musi być aktywne"> <script> document.getElementById('test').onfocus = function(){ if(this.value == 'Aby zeskanować kod pole musi być aktywne'){ this.style.borderColor = 'green'; this.value = ''; } } document.getElementById('test').onblur = function(){ if(this.value == ''){ this.style.borderColor = 'red'; this.value = 'Aby zeskanować kod pole musi być aktywne'; } } </script> albo co nie jest najlepszym rozwiązaniem(w końcu ludzie nie są aż takimi debilami): Kod <input type="input" id="test" >
<script> window.onclick = function(){ document.getElementById('test').focus(); } window.onclick(); </script> -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 156 Pomógł: 31 Dołączył: 23.02.2009 Skąd: Sanok Ostrzeżenie: (0%) ![]() ![]() |
Cytat Tylko czy ciągły focus na polu pozwoli Ci operować dalej na stronie? Czy strona ma za zadanie tylko przyjmować kody? Tak strona ma tylko przyjąć kod Cytat (w końcu ludzie nie są aż takimi debilami): ![]() @Kamil4U najbardziej skłaniałbym się do twojego pierwszego rozwiązania, jednak jeśli pole input jest widoczne dla użytkownika to jak rozpoznać czy wartość jest wpisana "z palca" czy sczytana z kodu? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Cytat @Kamil4U najbardziej skłaniałbym się do twojego pierwszego rozwiązania, jednak jeśli pole input jest widoczne dla użytkownika to jak rozpoznać czy wartość jest wpisana "z palca" czy sczytana z kodu? Pisałeś, że ten skaner działa jak klawiatura, jeżeli jest dokładnie tak jak mówisz to chyba, tego nie wykryjesz, a jeżeli nie to:- wykorzystać zdarzenie onkeypress(lub podobne) i nie pozwalać używać klawiatury - spr czy znaki są wpisywane "na raz" - musisz cyklicznie spr. czy zmieniła się wartość input-a - gorzej, gdy ktoś wklei wartość, ale to możliwe, że też da się wykluczyć - spr znaki od a-z i 0-9 i specjalne i w przypadaku kliknięcia takowego znaku skasować go od razu -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czytniki kodów kreskowych mają to do siebie, że można w nich zaprogramować postfix. W większości przypadków jest to enter. Co w przypadku stronki, która tylko i wyłącznie ma przyjmować kody oznacza, że możesz sczytywać kod i od razu wysyłać formularz (czyli wpisanie kodu +enter)
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:57 |