我需要获取表单中某个元素的ID,以便可以将该元素标记为“假”或“真”。或者,或者,我需要一种将名称与可以引入javascipt的元素相关联的方法,以便更改关联的值。
var form = document.getElementById("myForm");
form.elements[i].value
这些代码行是我尝试过的,但似乎不起作用。
编辑:
function initial(){
if (localStorage.getItem("run") === null) {
var form = document.getElementById("myForm").elements;
for(var i = 0; i < 1 ; i++){
var id = form.elements[i].id;
sessionStorage.setItem(id,"false");
}
localStorage.setItem("run", true);
}
}
因此,基本上,当我运行页面时,我希望将localStorage项附加到屏幕上的所有按钮。我希望此命令运行一次,以便将所有项目设置为false。问题是我不知道如何获取ID,因此我有一个附加到按钮的值。关于如何完成这样的任务的任何想法。
Edit2:
function initial(){
if (localStorage.getItem("run") === null) {
var form = document.getElementById("myForm");
var tot = document.getElementById("myForm").length;
for(var i = 0; i < tot ; i++){
sessionStorage.setItem(form.elements[i].id,"false");
}
localStorage.setItem("run", true);
}
}
这是新代码。它似乎大部分都可以工作,但是由于某些原因,只有第一个值被设置为false。不确定,也许与此功能有关。
function loader(){
var form = document.getElementById("myForm");
var tot = 5;
for(var i = 0; i < 5 ; i++){
if(sessionStorage.getItem(form.elements[i].id) === "true"){
document.getElementById(form.elements[i].id).style.backgroundColor = "green";
return ;
}else{
document.getElementById(form.elements[i].id).style.backgroundColor = "red";
return false;
}
}
}
无论如何,我在执行页面时同时运行这两个程序,因此它们都设置为false并变为红色。但是,当按钮正确完成时,按钮的颜色变为绿色。
答案 0 :(得分:2)
可通过元素上的id
属性使用:
var id = form.elements[i].id;
实时示例:
var form = document.getElementById("myForm");
console.log("The id is: " + form.elements[0].id);
<form id="myForm">
<input type="text" id="theText">
</form>
答案 1 :(得分:0)
您已经将所有元素存储在表单中,因此它必须是:
var form = document.getElementById("myForm").elements;
var id = form[i].id;
或者从elements
变量中删除form
部分,例如:
var form = document.getElementById("myForm");
var id = form.elements[i].id;