Ich arbeite an Barcode-Scannern. Der Barcode-Scanner, den ich verwende, ist ein Plug-and-Play-Typ und scannt den Code automatisch, wo immer Sie den Cursor platzieren. Aber was ich will, ist, dass, ob ich es zu einem bestimmten Textfeld auf einer Webseite scannen kann jedes Mal, wenn mein Scanner einen Code liest
Zum Beispiel, wenn mein Formular so aussieht
%Vor% Jedes Mal, wenn ich einen Code scanne, sollte er immer in der txtitem
-Textbox erscheinen, egal wo ich mich gerade befinde.
Kann mir jemand helfen oder mir helfen, eine Lösung zu finden?
Einige Barcode-Scanner verhalten sich wie ein anderes Eingabegerät. Das Formular kann den Unterschied zwischen den von einer Tastatur eingegebenen Daten und einem Scanner nicht unterscheiden, es sei denn, Sie verwenden einen Timer, um zu überwachen, wie schnell es eingegeben wird.
Einige Scanner "fügen" die Werte in das fokussierte Steuerelement ein - andere senden jeden einzelnen Tastenanschlag.
Der folgende JSFiddle kann erkennen, wann eine Eingabe erfolgt, wenn Zeichen einzeln auf einem einzelnen Steuerelement gesendet werden:
Sie könnten dies anpassen, um es zu einem Delegaten für das gesamte Formular zu machen und die Eingabe aus dem Steuerelement, in das es eingegeben wurde, zu entfernen und in die richtige Form zu bringen.
Der Test html für die Geige ist dies:
%Vor%Das Javascript für die Beispielgeige ist:
%Vor%Der obige Code unterstützt das Kopieren / Einfügen nicht, aber in unserer Situation wird dies sowieso nicht passieren.
Ich würde denken, dass der Scanner nur als Texteingabevorrichtung wie eine Tastatur und Ausgabe von Text gesehen wird. Solange es keinen Weg gibt, diesen Text zu identifizieren, ist die Antwort wahrscheinlich, dass es keine einfache Lösung gibt.
Wenn der Code, den Sie erhalten, immer die gleiche Form hat und mit einem regulären Ausdruck identifiziert werden kann, können Sie ihn möglicherweise in die richtige Box verschieben, indem Sie die Eingabe irgendwie puffern (ich würde erwarten, dass der gescannte Code in einem Tastenkombinationen, die viel schneller sind als ein Mensch eingeben würde) und einen Regex darüber laufen lassen ...
Der beste Weg ist es zu setzen Daten in gescannten Code. Fast alle Scanner unterstützen diese Programmierung. Viele von ihnen können über Steuerbarcodes programmiert werden, die im Handbuch gedruckt werden.
Ich benutze den Ctrl + Char für Symbol Scanner, F9 Daten F10 für Honeywell Bluetooth Scanner. Wasp-Scanner unterstützt keine Strg + Zeichenkombination. Also ich benutze [Daten] Format für Wasp.
Dann fange ich das erste Symbol (sagen Sie [char) in Programm und positionieren Sie den Cursor im Suchfeld. Nach Erhalt des letzten Zeichens (in meinem Fall char) sende den Inhalt der In-Search-Routine.
Tags und Links javascript barcode barcode-scanner