Javascript 按元素名称填写UIWebView中的文本字段

Javascript 按元素名称填写UIWebView中的文本字段,javascript,iphone,uiwebview,Javascript,Iphone,Uiwebview,我想编写一个iPhone应用程序,将网站内容打包到该应用程序中。第一个问题:输入用户数据。我尝试了以下方法: [webView stringByEvaluatingJavaScriptFromString:@"document.username.text.value='testUser'"]; 我已经验证了我当时可以运行javascript,一个简单的alert()可以工作。然而,我没有成功地填写该文本字段。文本字段没有指定ID,只有名称(用户名)。我没有在互联网上找到没有ID的对象的例子,因

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

[webView stringByEvaluatingJavaScriptFromString:@"document.username.text.value='testUser'"];
我已经验证了我当时可以运行javascript,一个简单的alert()可以工作。然而,我没有成功地填写该文本字段。文本字段没有指定ID,只有名称(用户名)。我没有在互联网上找到没有ID的对象的例子,因为我对javascript一点都不熟悉,我需要你的帮助。 提前谢谢

使用
$('input[name=“name”]”)文本('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;
    }
}
document.getElementById("username").value = "testUser"
var myInput=table.getElementsByTagName(“输入”);
对于(var i=0;i

根据需要更改“姓名”和“您好”。)

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

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

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

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

从未见过使用表单[0]访问DOM的方法而且它对我也非常有效!谢谢你的意见。自从我写这个答案很久了。。。但是是的,我工作(部分),但我想
getElementsByTagName(“form”)
现在更规范了。把图像添加到文本框怎么样?有什么想法吗?