2017-11-29 22 views
0

Ich möchte Text Wert beim Einfügen Wert im Textfeld mit Hilfe von jQuery. Wie habe ich Wert 123456 in Textfeld einfügen dann nach dem Einfügen möchte ich diesen Wert erhalten.Get Text Wert nach dem letzten Wert in Textfeld

Ich verwendete .change, aber es geben Wert nach outfocus aus Textfeld. Keypress funktioniert nicht wenn vergangener Wert.

Gibt mir jemand eine Lösung dafür. Oder gib mir einen Trick, um dies zu erreichen.

Eigentlich scanne ich Strichcode Barcode-Gerät nach Scan-Barcode-Wert auf Textfeld hinzugefügt. Nach dem Scan möchte ich das Formular einreichen, deshalb finde ich ein Ereignis, das nach dem Scan ausgelöst wird.

Dank

+0

Bitte zeigen Sie uns Ihre Versuche. –

+0

Suchen Sie nach "onpaste Event" – Rayon

+0

@diiN__________ https://jsfiddle.net/k107d077/4/ überprüfen Sie bitte hier – Sourabh

Antwort

1

Sie können "binden" Funktion und "Paste" Ereignis verwenden.

$(".getval").bind("paste", function(e){ 
 
    var pastedData = e.originalEvent.clipboardData.getData('text'); 
 
    alert(pastedData); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" class="getval">

+0

@muhamet danke für deine Antwort kannst du mir bitte Bescheid geben was ist die Verwendung von OriginalEvent.clipboardData – Sourabh

+0

@Sourabh Wir verwenden den hier verwendeten Ausdruck "originalEvent" und das Ereignisobjekt "jQuery" ("e"), um an das JavaScript zu übergeben Ereignisobjekt Dann können wir das Kopieren mit "ClipboardData" überprüfen. –

+0

@Muhamet danke, aber ich möchte wissen, ob es mit Barcode-Scanner funktioniert? – Sourabh

1

ein kleines Timeout Verwenden Sie den eingefügten Wert zu erhalten.

document.getElementById('getval').onpaste =function() { 
 
setTimeout(() => { 
 
let value = document.getElementById('getval').value; 
 
console.log(value); 
 
},200); 
 
}
<input type="text" id="getval">

+0

danke für deine antwort: p – Sourabh

+0

Warum brauchen wir 'setTimeout'? – Rayon

+0

@ Rayon ist ein Hack der Art; Ohne setTimeout, aus Gründen, die ich nicht vollständig verstanden habe, scheint es ein Problem zu geben, den Wert aus dem Eingabefeld zu bekommen; daher eine winzige Verzögerung. Wenn du eine Lösung dafür hast, bin ich ganz Ohr. –