UIWebView:如何在HTML文本字段中插入文本

时间:2012-03-05 10:48:05

标签: objective-c cocoa-touch uiwebview

我有一个 UIWebView ,其中加载了移动网络表单网址。在我的应用程序的方法中,我想在UIWebView中的HTML文本字段中插入一些文本,该文本具有焦点。

我该怎么做?有没有办法获得具有焦点的HTML元素的ID - 我可以使用JavaScript将文本插入到此元素中吗?

2 个答案:

答案 0 :(得分:2)

您必须影响加载到UIWebView的网页的唯一方法是-stringByEvaluatingJavaScriptFromString:。最麻烦的方法可能是在页面中设置一个函数,您可以在字段中使用所需的文本调用该函数。然后传入一个字符串,该字符串是对该函数的调用,如:

 NSString* js = [NSString stringWithFormat:@"myFunction('%@')", someTextVariable];
 NSString* results = [self.someWebView stringByEvaluatingJavaScriptFromString:js];

(转义someTextVariable中的任何单引号也是必要的!)

答案 1 :(得分:1)

这是一个JavaScript问题,因为我的解决方案是使用jQuery调用$("*:focus")来更改 UIWebView 中所选元素的值。这显然要求 UIWebView 中加载的页面使用jQuery。该呼叫是使用-stringByEvaluatingJavaScriptFromString:进行的,因为 Sixten Otto 描述。