我是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>
答案 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)