HTMLページをuiwebviewにロードするアプリを開発しています-そのhtmlファイルにはテキストファイルとドロップダウンリスト、テキストボックスなどが含まれています。
ここでは、ユーザーがそのテキストファイルに入力した値とドロップダウン(ピッカー)から選択した回答を取得する方法を説明します。
ありがとう
[UIWebView stringByEvaluatingJavascriptFromString:]
メソッドを使用して、javascriptを実行することで値を取得できます。
例:HTMLが次の場合:
<html>
<body>
<input id="myId" type="text" value="TextValue"/>
</body>
</html>
次のコードは、テキストフィールドの値を取得できます。
NSString* value = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('myId').value"];
ページ内のjavascript関数をポーリングすることができます( IWebView stringByEvaluatingJavascriptFromString: を使用)。
または、ちょっとしたハックを使用して、ページから直接Objective-cメソッドを呼び出すこともできます: IWEBVIEW SECRETS-PART3-JAVASCRIPTからObjectivecを適切に呼び出す方法
(github-linkの一番下までスクロールします)。
HTML応答がこれである場合、
<html>
<body>
<input id="myId" type="hidden" value="TextValue"/>
</body>
</html>
したがって、次のようにアクセスできますSwift、
var id:String = IBwebView.stringByEvaluatingJavaScriptFromString("document.getElementById('myId').value")!
println(id)