Введите текстовые поля в UIWebView по имени элемента - PullRequest
0 голосов
/ 26 декабря 2011

Я хотел бы написать приложение для iPhone, которое упаковывает содержимое веб-сайта в приложение.Первая проблема: ввод пользовательских данных.Я пробовал следующее:

[webView stringByEvaluatingJavaScriptFromString:@"document.username.text.value='testUser'"];

Я подтвердил, что могу запускать javascript в то время, простое предупреждение () работает.Однако у меня не было никаких успехов в заполнении этого текстового поля.Текстовое поле не имеет назначенного идентификатора, только имя (имя пользователя).Я не нашел примеров в Интернете с объектом, у которого нет идентификатора, и, поскольку я вообще не знаком с javascript, мне нужна ваша помощь.Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 26 декабря 2011

Если вы хотите использовать только методы DOM, вам, вероятно, нужно сделать это следующим образом, предполагая, что это первая форма в документе и вход имеет имя «username»:

document.forms[0].username.value = "testUser"

Или если выдобавив id="username" к элементу ввода, который вы можете сделать:

document.getElementById("username").value = "testUser"

Но также убедитесь, что вы оценили скрипт после завершения загрузки UIWebView, чтобы DOM был полностью загружен и готов к работе,рекомендовал бы использовать метод делегата webViewDidFinishLoad: в протоколе UIWebViewDelegate.

0 голосов
/ 26 декабря 2011

Использование $('input[name="name"]').text('Hello');

Если вы не используете jQuery, вы можете сделать:

var myInput = table.getElementsByTagName("input");   
for (var i = 0; i < myInput.length; i++) {   
    if(myInput[i].getAttribute("name")=="name") {
        myInput[i].value = "Hello";  
        break;
    }
}

Измените «имя» и «Привет» по мере необходимости. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...