按元素名称在UIWebView中的文本字段中

时间:2011-12-26 11:03:12

标签: javascript iphone uiwebview

我想写一个将网站内容打包到应用程序中的iPhone应用程序。第一个问题:输入用户数据。我尝试过以下方法:

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

我已经确认我可以在那时运行javascript,一个简单的alert()可以运行。但是,我没有任何成功填写该文本字段。文本字段没有分配ID,只是名称(用户名)。我没有在互联网上找到没有ID的对象的例子,因为我根本不熟悉javascript,我需要你的帮助。 提前谢谢!

2 个答案:

答案 0 :(得分:1)

如果你只想使用DOM方法,你可能需要这样做,假设它是文档中的第一个表单,输入名为“username”:

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

或者,如果您将id="username"添加到输入元素,则可以执行以下操作:

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

但是还要确保在UIWebView完成加载后评估脚本,以便DOM完全加载并准备好进行操作,我建议在{{webViewDidFinishLoad:委托方法中使用UIWebViewDelegate委托方法1}}协议。

答案 1 :(得分:0)

使用$('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;
    }
}

根据需要更改“名称”和“Hello”。 :)