正在开发一个将HTML页面加载到uiwebview的应用程序 - 该html文件包含文本字段和下拉列表,文本框等。
此处如何获取用户在该文本字段中输入的值以及从下拉列表(选择器)中选择的答案。
由于
答案 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)