программная обработка текстового поля в uiwebview

У меня есть веб-страница с текстовым полем и кнопкой отправки. Эта веб-страница загружается в UIWebView.

Как мне программно нажать кнопку отправки для этой веб-страницы?

В качестве альтернативы, как я могу программно сделать текстовое поле на веб-странице первым ответчиком и отобразить программную клавиатуру? Просто программно воссоздайте такое же поведение, как если бы пользователь коснулся текстового поля на веб-странице.

Я хотел бы сделать предположение, что источник страницы неизвестен.

Это не UITextField, это просто веб-страница, которая отображается в UIWebView.

Заранее спасибо.


person AaronG    schedule 11.04.2011    source источник


Ответы (2)


Если вы знаете источник страницы, вы можете использовать stringByEvaluatingJavascriptFromString UIWebView. Например:

NSString *focusTextField = @"document.getElementById('textFieldID').focus();";
[webView stringByEvaluatingJavascriptFromString:focusTextField];

person Isabel    schedule 11.04.2011
comment
Я хотел бы сделать предположение, что источник неизвестен, и я изменил свой вопрос, чтобы отразить это. - person AaronG; 11.04.2011

Я не уверен, что мой вопрос был ясен, но это был ответ, который сработал для меня:

jScriptString = [NSString stringWithFormat:@"var field = document.activeElement;" 
                     "field.value='%@';", symbol.data];
    [myWebView stringByEvaluatingJavaScriptFromString:jScriptString];
    jScriptString = [NSString stringWithFormat:@"document.activeElement.form.submit();"];
    [myWebView stringByEvaluatingJavaScriptFromString:jScriptString];
person AaronG    schedule 26.04.2011
comment
что такое symbol.data здесь - person nidIOS; 26.03.2014