2012-04-09 2 views
-1

Как использовать следующий код javascript в Objective-C?используя Javascript в Objective-C

var theFormId = $('form').filter(function() { 
return this.innerHTML.indexOf('forgot your password') != -1; 
}).attr('id'); 

Как использовать код, указанный выше в stringByEvaluatingJavaScriptFromString UIWebView в: метод?

Я использовал код выше с Objective-C следующим образом:

NSString *formID = [NSString stringWithFormat:@"%@",[self.browser stringByEvaluatingJavaScriptFromString:@"$('form').filter (function() {var text = this.innerHTML.toLowerCase();" 
         "return text.indexOf('forgot your password') != -1 || " 
         "text.indexOf('remember me') != -1;}).attr('id');"] ]; 

При попытке войти FormID, он ничего не печатает. Есть ли синтаксическая ошибка в моем коде?

+0

Пожалуйста, обратитесь к соответствующему вопросу [здесь] [1] это поможет вам много [1]: http://stackoverflow.com/questions/766627/uiwebview-stringbyevaluatingjavascriptfromstring-not -changing-text-box-value –

+1

@AalokParikh, чтобы использовать ссылки в комментариях, вы должны использовать этот формат '[текст] (http: // URL)' –

ответ

2

Я понятия не имею, будет ли это работать, потому что у вас есть только небольшая часть вашей проблемы.

Во-первых, ваш Javascript не выглядит так, как будто он действителен. Я подозреваю, что это должно быть:

var theFormId = $('form').filter(function() { 
    var text = this.innerHTML.toLowerCase(); 

    return text.indexOf('forgot your password') != -1 || 
      text.indexOf('remember me') != -1; 
}); 

Я добавил несколько закрывающих кронштейнов.

Чтобы запустить этот Javascript с помощью -stringByEvaluatingJavaScriptFromString:, вы бы сделали что-то вроде следующего.

NSString *javascript = @"var theFormId = $('form').filter(function() { var text = this.innerHTML.toLowerCase(); return text.indexOf('forgot your password') != -1 || text.indexOf('remember me') != -1; });"; 

NSString *result = [webView stringByEvaluatingJavaScriptFromString:javascript]; 

Я не уверен, что вы получите в result строку при запуске этого же.

+0

Пожалуйста, чтобы перейти к моему исходному вопросу здесь: http: // stackoverflow .com/вопросы/10069564/найти-на-логин-формы, ориентированного на содержание –

Смежные вопросы