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 :

  1. Autofokus nie działa, używam go tylko w tej skrzynce wejściowej.
  2. W rzeczywistości celem tego pola wejściowego jest uzyskanie pola autofokussa, dzięki czemu skaner kodów kreskowych może wprowadzić kod produktu.
  3. 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.

0
kunal chakraverthy 17 sierpień 2014, 19:53

2 odpowiedzi

Najlepsza odpowiedź

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ść

0
hereandnow78 17 sierpień 2014, 15:58

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.

0
kunal chakraverthy 1 wrzesień 2014, 11:47