web-dev-qa-db-ja.com

iphone-uiwebviewテキストフィールドからデータを取得する

HTMLページをuiwebviewにロードするアプリを開発しています-そのhtmlファイルにはテキストファイルとドロップダウンリスト、テキストボックスなどが含まれています。

ここでは、ユーザーがそのテキストファイルに入力した値とドロップダウン(ピッカー)から選択した回答を取得する方法を説明します。

ありがとう

24
nik

[UIWebView stringByEvaluatingJavascriptFromString:]メソッドを使用して、javascriptを実行することで値を取得できます。

例:HTMLが次の場合:

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

次のコードは、テキストフィールドの値を取得できます。

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

ページ内のjavascript関数をポーリングすることができます( IWebView stringByEvaluatingJavascriptFromString: を使用)。

または、ちょっとしたハックを使用して、ページから直接Objective-cメソッドを呼び出すこともできます: IWEBVIEW SECRETS-PART3-JAVASCRIPTからObjectivecを適切に呼び出す方法
(github-linkの一番下までスクロールします)。

4
iceydee

HTML応答がこれである場合、

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

したがって、次のようにアクセスできますSwift

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