【发布时间】:2026-01-17 20:30:01
【问题描述】:
有没有办法在UIWebview 上设置当前文本字段上的文本?
我不需要检索文本。我不需要确定当前具有焦点的文本字段。
基本上,用户将扫描条形码(使用 linea-pro),如果在 uiwebview 中选择了文本字段,我只想将文本设置为检索到的条形码
【问题讨论】:
标签: ios objective-c iphone uiwebview barcode
有没有办法在UIWebview 上设置当前文本字段上的文本?
我不需要检索文本。我不需要确定当前具有焦点的文本字段。
基本上,用户将扫描条形码(使用 linea-pro),如果在 uiwebview 中选择了文本字段,我只想将文本设置为检索到的条形码
【问题讨论】:
标签: ios objective-c iphone uiwebview barcode
您可以执行可以为文本字段设置值的 JavaScript 函数。像这样的
NSString *text = @"Text field text";
NSString *javaScript = [NSString stringWithFormat:@"var textField = document.activeElement;"
"textField.value = '%@';"
"document.activeElement.form.submit();", text];
[webView stringByEvaluatingJavaScriptFromString:javaScript];
【讨论】:
let javaScriptQuery = "document.activeElement.id"
webView.evaluateJavaScript(javaScriptQuery) { (result, error) -> Void in
print("focus element id = \(result as? String)")
let focusedElementID = (result as? String)!
let testString = "Testing Testing......"
let javascript = "var textField = document.getElementById('\(focusedElementID)'); textField.value = '\(testString)';"
self.webViewObj.evaluateJavaScript(javascript) { (result, error) in
if error != nil {
} else {
print(result ?? "not found")
}
}
}
【讨论】: