用JS实现自动填写表单功能时form无name属性怎么办?

我想实现能自动填写某个网站表单的功能,百度了一下感觉http://www.cnblogs.com/fanyong/p/3344364.html这个方法比较简单就试了一下,具体方法如下

第一步:
在页面查看源代码,把Form中包含的需要填列的HTML控件找出来如:

第二步:编写代码
javascript:mainfrm.username.value="stangray";mainfrm.submit.focus();
第三步:

打开浏览器的“收藏夹”,在“链接”分类中添加一个URL收藏。
在URL项中:加入上面编写的代码,也可以指定快捷键,在名称中填写“自动填表”(上面是在IE浏览中设置,不同的浏览器收藏夹使用会不一样,但都差不多)
第四步:测试
在浏览器中打开你要填写表单的网址,然后点击“链接”栏(这个菜单栏在输入地址栏的右边,
取消锁定工具栏后,可以把他拖出来)中的“自动填表”链接,就可以了。

但是我看了下很多网站的form都没有name属性怎么办?直接写表单的name的话会报错。
如果有其他比较好的方法也请告诉我一下,谢谢

没有就遍历所有form,然后遍历每个form里面的elements元素包含你的name属性值就赋值提交表单

   var forms = document.getElementsByTagName('form');
   form: for(var i=0;i<forms.length;i++)
        for(var j=0;j<forms[i].elements.length;j++)
            if (forms[i].elements[j].name == 'username') {
                forms[i].elements[j].value = 'xxxx';
                forms[i].submit();
                break form;
            }

这是QQ邮箱登录页面部分的代码
图片说明
这是我仿照那个方法写的自动填表的
javascript:
loginform.u.value="123";
loginform.p.value="123";

这是报错
图片说明

另外这个是知乎注册页面的,没有name啊
图片说明

为毛我找了百度云和qq邮箱都是有的。还有就是后台是根据name属性来获取内容的。而且这个属性是必须的呀。
我觉得是你没有找到那个元素的name属性吧。。图片说明

没有,你赋值为空试试可以么