Ich habe eine iOS-App in Swift, die eine Webansicht lädt (Link zu einem Formular). Dann kann der Benutzer ein Eingabefeld auswählen und die Scan-Taste drücken, um einen Barcode zu scannen. Ich sammle das document.activeElement und führe eine andere Funktion aus, die den Wert des Eingabefeldes auf den gescannten Barcode setzt. Hier ist mein JavaScript Code: -Javascript nicht den Wert des Eingabefeldes einstellen
//before scanning the barcode
myWebView.stringByEvaluatingJavaScript(
from: "var abc = document.activeElement;"
)
//after the barcode is scanned
myWebView.stringByEvaluatingJavaScript(
from: "function fillText(myValue){
if(document.selection){
abc.focus();
sel = document.selection.createRange();
sel.text=myValue;
} else if(abc.selectionStart||abc.selectionStart == '0'){
var startPos = abc.selectionStart;
var endPos = abc.selectionEnd;
abc.value = abc.value.substring(0,startPos)+ myValue + abc.value.substring(endPos, abc.value.length);
abc.selectionStart = startPos + myValue.length;
abc.selectionEnd = startPos + myValue.length;
}else{
abc.value += myValue;
}
}"
)
Aber das Eingabefeld ist nicht korrekt ausgefüllt. Wenn der Benutzer das Formular abschickt, wird es leer, es sei denn, es wird etwas eingegeben. Ich habe auch ein paar Screenshots beigefügt. Wir können sehen, dass der Text eine Ebene über dem Platzhalter erstellt. Vielleicht stimmt etwas mit meinem JavaScript nicht. screenshot of the app
Here is the screenshot when I tried to edit the source
So Im Screenshot ich den Text in grau sehen " Ihre Antwort "unter den # s. Das ist es, was du versuchst loszuwerden? –
Können Sie Elemente an der Stelle überprüfen, an der der # und der Platzhaltertext vorkommen, und den HTML-Code posten oder einen Screenshot des HTML-Codes erstellen? –
das Formular wird von Google gemacht. Ich injiziere einfach das javaScript. Es wird nicht nur den Platzhalter los. Wenn ich diese Antworten einreiche, komme ich nicht zu mir. Es kommt nur als ein leeres Feld. –