使用Javascript(自动登录)循环表单

时间:2013-12-19 17:39:40

标签: javascript html forms

我是javascript的新手,我正在尝试创建一个自动登录组件,它将遍历给定的表单并找到用户名和密码字段(我这样做是通过使用'type'属性自第一个“文本”类型通常是用户名,第一个“密码”类型通常是密码)然后填写用户名/密码值。我知道这对所有形式都不适用,但这是我能想到的唯一方法(有很多种形式)。这种方法有用吗?

    <script>
for(int i = 0; i < document.forms[0].length; i++)
    if(document.forms[0].elements[i].type == "text"){
        document.forms[0].elements[i].value = "someUsername";
        break;
    }
for(int i = 0; i < document.forms[0].length; i++)
    if(document.forms[0].elements[i].type == "password"){
        document.forms[0].elements[i].value = "somePassword";
        break;
    }   
document.forms[0].submit();
</script>

3 个答案:

答案 0 :(得分:1)

第一

int i = 0

是无效的JS语法。也许你的意思是

var i = 0

除此之外,您的代码可能会有效,具体取决于您提供的表单。您假设登录字段是文档第一个表单上的第一个文本字段,可能不是这种情况。

也许您可能会考虑使用一组登录字段候选

var loginfieldcandidates=['name','login','username','user','userid'];

而不是填充第一个文本字段,尝试找到第一个文本字段,其名称小写,匹配数组的任何值。

答案 1 :(得分:0)

您可以尝试onload功能。

例如,您可以添加到<form>代码onload="fillForm()"

然后,您可以在页面的标签内创建您的功能。

  function fillForm(){
  document.getElementById['inputID'].value="etc etc";
  .. etc 

  document.getElementById("formName").submit();
 }

这只是实现这一点的一种方式的简要概述!

只是为了澄清,这只是意味着当你的表单加载时,它将执行你在javascript中定义的函数,反过来,它将填充并提交你的表单。

答案 2 :(得分:0)

是的,它会完成这项工作。只需在页面加载时运行它。