问题描述
- 用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的话会报错。
如果有其他比较好的方法也请告诉我一下,谢谢
解决方案
为毛我找了百度云和qq邮箱都是有的。还有就是后台是根据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";
时间: 2024-09-30 13:32:11