UIWebView中获取网页输入框的内容

一、首先想要获取UIWebView中的URL 的JavaScript代码 :

  • (void)webViewDidFinishLoad:(UIWebView *)webView{
    NSString *jsToGetHTMLSource = @”document.getElementsByTagName(‘html’)[0].innerHTML”;

    NSString *HTMLSource = [self.webView stringByEvaluatingJavaScriptFromString:jsToGetHTMLSource];
    NSLog(@”---------JavaScript原代码:%@-------”,HTMLSource);
    }

二、在添加UIWebView的页面的viewDidLoad方法中 设置监听键盘的弹出和隐藏,来达到监听UIWebView中的input 控件的输入值,设置监听后 实现监听方法即可。

  • (void)viewDidLoad {
    [super viewDidLoad];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];
    }

三、在需要获取UIWebView中的输入框 或其它控件的值的地方 使用以下代码即可,UIWebVIew的控件代码如:

  • (void)keyboardWillHide:(NSNotification *)notification
    {
    NSString *string = [self.webView stringByEvaluatingJavaScriptFromString:@”document.getElementById(‘input’).value;” ];
    NSLog(@”~~监控的控件的值:~~~~:%@”, string);
    }

四、最后不要忘记在页面要消失的时候移除监听哦

-(void)resignForKeyboardNotifications
{
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIKeyboardWillShowNotification
object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIKeyboardDidShowNotification
object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIKeyboardWillHideNotification
object:nil];
}

其它相关的获取网页输入的内容

你可能感兴趣的:(工具,iOS,xcode7)