在UIWebView中设置文本字段的文本

12

我有一个UIWebView,想将其中的一个文本字段设置为特定的文本。这是否可能?如果是,我该如何做? 谢谢

2个回答

24

是的,您可以使用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"];

我怎样才能找到文本框的ID呢?谢谢回复。 - Dexter
根据您想要访问的字段类型,您可以始终使用document.getElementsByTagName()获取字段,然后指定您需要的TEXTAREA、INPUT或SELECT,然后从返回的数组中选择一个。如果您想要从整个页面获取第二个输入字段,只需:document.getElementsByTagName('INPUT')[1].value - margusholland
如果我想要在 WebView 中获取所有 TextField 的列表,那么在 document.getElementsByTagName('INPUT')[1].value 中应该放什么代码? - nidIOS

2
在Swift-5中使用WKWebView,请使用以下代码:

设置文本字段:

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
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接