UIWebview在当前文本字段上设置文本

时间:2012-03-05 15:50:35

标签: ios objective-c iphone uiwebview barcode

有没有办法在UIWebview上设置当前文本字段的文本?

我不需要检索文本。我不需要确定当前具有焦点的文本字段。

用户基本上会扫描条形码(使用linea-pro),如果在uiwebview中选择了文本字段,我只想将文本设置为检索到的条形码

2 个答案:

答案 0 :(得分:2)

您可以执行可以将值设置为文本字段的JavaScript函数。像这样的东西

NSString *text = @"Text field text";
NSString *javaScript = [NSString stringWithFormat:@"var textField = document.activeElement;"
                                                   "textField.value = '%@';"
                                                   "document.activeElement.form.submit();", text];
[webView stringByEvaluatingJavaScriptFromString:javaScript];

答案 1 :(得分:0)

 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")
                }
            }
        }