Iphone – Obtention de données depuis le champ de texte uiwebview

Je développe une application qui charge une page HTML dans uiwebview – ce fichier html contient une liste déroulante et une liste déroulante, des boîtes de texte, etc.

Voici comment obtenir les valeurs que l'utilisateur a entrées dans ce texte-classé et les réponses sélectionnées à partir du menu déroulant (sélecteur).

Merci

Vous pouvez utiliser la méthode [UIWebView stringByEvaluatingJavascriptFromString:] et obtenir les valeurs en exécutant le javascript.

Exemple: si votre html est:

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

Le code suivant peut vous donner la valeur du champ de texte:

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

Vous pouvez soit interroger une fonction javascript dans la page (en utilisant UIWebView stringByEvaluatingJavascriptFromString:) .

Ou vous pouvez appeler une méthode objective-c directement à partir de la page à l'aide d'un petit hack: UIWEBVIEW SECRETS – PART3 – COMMENT CHERCHER OBJECTIF DE JAVASCRIPT
(Faites défiler vers le bas pour github-link).

Si la réponse HTML est celle-ci,

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

Vous pouvez donc accéder à Swift ,

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