【问题标题】:Set text for a textfield in UIWebView为 UIWebView 中的文本字段设置文本
【发布时间】:2023-04-02 07:08:01
【问题描述】:

我有一个 UIWebView,我想将其中一个文本字段设置为某些文本。这甚至可能吗?如果是这样,我该怎么做? 谢谢

【问题讨论】:

    标签: objective-c cocoa-touch ios uiview uiwebview


    【解决方案1】:

    是的,您可以使用 javascript 在 UIWebView 中设置文本字段的文本

    例如,如果您在此表单中有一个文本字段

    <input id="textFieldID" type="text" value="TextValue"/>
    

    设定值:

    [theWebView stringByEvaluatingJavaScriptFromString:@"document.getElementById('textFieldID').value = 'Hello World'"]
    

    获取价值:

    NSString* value = [theWebView stringByEvaluatingJavaScriptFromString:@"document.getElementById('textFieldID').value"];
    

    【讨论】:

    • 如何才能找到textfield的id,谢谢回复。
    • 根据您要访问的字段类型,您始终可以通过以下方式获取字段:document.getElementsByTagName(),然后您可以在其中指定是否需要 TEXTAREA、INPUT 或 SELECT,然后只需选择一个从它返回的数组中。如果您想从整个页面中获取第二个输入字段,您只需: document.getElementsByTagName('INPUT')[1].value
    • 在 document.getElementsByTagName('INPUT')[1].value 中,如果我想要 WebView 中的所有 TextField 列表,会有什么代码
    【解决方案2】:

    在带有 WKWebView 的 Swift-5 中使用这个

    设置文本字段

    webView.evaluateJavaScript("document.getElementById('textFieldID').value = 'Hello'") { (result, error) in
       print(result) //This will Print Hello
    }
    

    获取文本字段的值

    webView.evaluateJavaScript("document.getElementById('textFieldID').value") { (result, error) in
       print(result) //This will Print value of text field
    }
    

    【讨论】:

      猜你喜欢
      • 2012-03-23
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 2015-08-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      相关资源
      最近更新 更多