Barcode in ein spezifisches Textfeld scannen

9

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?

    
Sriniwas 30.04.2013, 09:19
quelle

5 Antworten

17

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.

    
PhilM 20.12.2013 07:34
quelle
9

Sie müssen das Ereignis "Einfügen" mit jQuery

abhören %Vor%

Hier ist ein Beispiel: Ссылка

    
Igor S. 30.04.2013 09:29
quelle
0

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 ...

    
Tom Elmore 30.04.2013 09:30
quelle
0

Fügen Sie dem Text, den der Scanner ausgibt, ein Präfix hinzu (fast alle Scanner können dies tun). Wenn dann eine Eingabe mit diesem Präfix beginnt, kennen Sie den Scanner.

Um die Eingabe mit jquery abzufangen, könnten Sie etwas tun:

%Vor%     
nick 30.04.2013 09:34
quelle
0

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.

    
Jeff_Alieffson 31.12.2016 03:43
quelle