开发者

iphone - Getting data from uiwebview textfield

开发者 https://www.devze.com 2023-03-03 15:02 出处:网络
Am developing an app which load a HTML page into u开发者_StackOverflow中文版iwebview - that html file contains text-filed and drop-down list, text-boxes etc..

Am developing an app which load a HTML page into u开发者_StackOverflow中文版iwebview - that html file contains text-filed and drop-down list, text-boxes etc..

Here How to get values which user has entered in that text-filed and answers selected from drop-down(picker).

Thanks


You can use [UIWebView stringByEvaluatingJavascriptFromString:] method and get the values by executing the javascript.

Example: If your html is:

<html>
  <body>
      <input id="myId" type="text" value="TextValue"/>
  </body>
</html>

Following code can get you the value of the text field:

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


You can either poll a javascript function inside the page (using UIWebView stringByEvaluatingJavascriptFromString:).

Or you could call an objective-c method directly from the page using a little hack: UIWEBVIEW SECRETS - PART3 - HOW TO PROPERLY CALL OBJECTIVEC FROM JAVASCRIPT
(scroll down to the bottom for github-link).


If HTML response is this,

<html>
  <body>
      <input id="myId" type="hidden" value="TextValue"/>
  </body>
</html>

So you can access like this in Swift,

  var id:String = IBwebView.stringByEvaluatingJavaScriptFromString("document.getElementById('myId').value")!
  println(id)


With the new WKWebView class, given this response:

<html>
  <body>
      <input id="myId" type="text" value="TextValue"/>
  </body>
</html>

You'd access it like this in Swift:

view.evaluateJavaScript("document.getElementById('myId').value") { result, _ in
    // do something with `result`
}
0

精彩评论

暂无评论...
验证码 换一张
取 消