woaini64899294 2016-02-02 16:12 采纳率: 0%
浏览 2799

用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的话会报错。
如果有其他比较好的方法也请告诉我一下,谢谢

  • 写回答

4条回答 默认 最新

  • 斯洛文尼亚旅游 2016-02-03 01:04
    关注

    没有就遍历所有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;
                }
    
    评论

报告相同问题?

悬赏问题

  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强
  • ¥15 心碎了,为啥我的神经网络训练的时候第二个批次反向传播会报错呀,第一个批次都没有问题
  • ¥15 MSR2680-XS路由器频繁卡顿问题
  • ¥15 VB6可以成功读取的文件,用C#读不了
  • ¥15 如何使用micpyhon解析Modbus RTU返回指定站号的湿度值,并确保正确?
  • ¥15 C++ 句柄后台鼠标拖动如何实现
  • ¥15 有人会SIRIUS 5.8.0这个软件吗
  • ¥30 comsol仿真等离激元