簡體   English   中英

iphone - 從 uiwebview 文本字段獲取數據

[英]iphone - Getting data from uiwebview textfield

我正在開發一個將 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函數(使用UIWebView stringByEvaluatingJavascriptFromString:)

或者你可以使用一個小黑客直接從頁面調用objective-c方法: UIWEBVIEW 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)

使用新的WKWebView class,給出以下響應:

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

您可以在 Swift 中像這樣訪問它:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM