Mam następujący kod:
<input type="text" id="productCode" name="productCode" style="min-height: 42px;" onChange="ajaxrequest_provideProductListOnHit('protected/snippet/snippet_provideProductListOnHit.php', 'ajaxOnProductHit'); return false;" required="required" autofocus />
Problemem jest :
- Autofokus nie działa, używam go tylko w tej skrzynce wejściowej.
- W rzeczywistości celem tego pola wejściowego jest uzyskanie pola autofokussa, dzięki czemu skaner kodów kreskowych może wprowadzić kod produktu.
- Teraz, jak widać, moja obsługa zdarzeń Onchange nie będzie tu pracować od skanera kodów kreskowych oprócz kodu produktu, wejść również.
Potrzebuję więc rozwiązania tutaj, które autofokusy i po wprowadzeniu wartości skanera kodów kreskowych w polu, wzywa do wspomnianej funkcji AJAX.
2 odpowiedzi
Html:
<input type="text" id="productCode" name="productCode" style="min-height: 42px;" required="required" autofocus />
Js:
var pc = document.getElementById('productCode');
pc.onblur = function () {
ajaxrequest_provideProductListOnHit(
'protected/snippet/snippet_provideProductListOnHit.php',
'ajaxOnProductHit'
);
}
pc.focus();
Używam OnBurur, ponieważ OnChange wyzwalałby po każdej zmianie, którą wykonasz (np. Wpisywanie do pola tekstowego spowoduje wyzwolenie po każdym klawiszu).
Możesz także zapewnić niektóre logikę niestandardową, np. rozpoznać określoną długość
Tak, w prawo, problem polegał na tym, że użyłem autofokusa na różnych poprzednich polach formularza, który wykonał tę szczególną dziedzinę tej konkretnej formy nie-autofokusa. Więc dowiedziałem się, że na stronie z wieloma formami załadowanymi do Domu, tylko pierwszy z auto-focus będzie działać. Głupiec mnie, że myślę inaczej.