iphone - 从uiwebview文本域获取数据

时间:2011-05-06 08:30:12

标签: javascript html objective-c ios uiwebview

正在开发一个将HTML页面加载到uiwebview的应用程序 - 该html文件包含文本字段和下拉列表,文本框等。

此处如何获取用户在该文本字段中输入的值以及从下拉列表(选择器)中选择的答案。

由于

3 个答案:

答案 0 :(得分:47)

您可以使用[UIWebView stringByEvaluatingJavascriptFromString:]方法并通过执行javascript来获取值。

实施例: 如果你的html是:

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

以下代码可以获取文本字段的值:

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

答案 1 :(得分:4)

您可以在页面内轮询javascript函数(使用UIWebView stringByEvaluatingJavascriptFromString:)。

或者您可以使用一点hack直接从页面调用objective-c方法:UIWEBVIEW SECRETS - PART3 - HOW TO PROPERLY CALL OBJECTIVEC FROM JAVASCRIPT
(向下滚动到github-link的底部)。

答案 2 :(得分:3)

如果是这样的HTML响应,

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

所以你可以在 Swift

中这样访问
  var id:String = IBwebView.stringByEvaluatingJavaScriptFromString("document.getElementById('myId').value")!
  println(id)