如何获取表单中元素的ID?

时间:2019-05-30 14:24:44

标签: javascript html

我需要获取表单中某个元素的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并变为红色。但是,当按钮正确完成时,按钮的颜色变为绿色。

2 个答案:

答案 0 :(得分:2)

可通过元素上的id属性使用:

var id = form.elements[i].id;

更多on MDNin the spec

实时示例:

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;