会话存储检索数据

时间:2018-03-26 08:27:51

标签: javascript

我想在SessionStorage中正确调用数据。当我从JavaScript调用它时,它只显示两个值(idno,fname)但不显示lname。

function display(){
    var display_data = document.getElementById('display_data');
    display_data.innerHTML="";
    for(var i = 0; i < sessionStorage.length; i++){
        var a = sessionStorage.key(i);
        var b = sessionStorage.getItem(a);
        var c = sessionStorage.getItem(a);

        display_data.innerHTML +="<tr><td>"+a+"</td><td>"+b+"</td><td>"+c+"</td></tr>";
    }
}

function save(){
    var idno = document.getElementById("idno").value;
    var fname = document.getElementById("fname").value;
    var lname = document.getElementById("lname").value;
    sessionStorage.setItem(idno,fname,lname);
    display();
    idno.value="";
    fname.value="";
    lname.value="";
}

这是HTML表单:

<form>
    <p>Idno:<br><input type="number" id="idno" /></p>
    <p>First Name:<br><input type="text" id="fname" /></p>
    <p>Last Name:<br><input type="text" id="lname" /></p>
    <p><input type="submit" id="button" value="Submit!" /></p>
</form>

1 个答案:

答案 0 :(得分:3)

save()中,您应该使用以下

替换sessionStorage.setItem(idno,fname,lname);
sessionStorage.setItem("idno", idno);
sessionStorage.setItem("fname", idno);
sessionStorage.setItem("fname", idno);

由于sessionStorage.setItem接受两个参数(如注释中提到的@ ste2425),首先是键,第二个是值。键可以是任何字符串,所以我只是将变量的名称作为键。您可以将其设置为任何值。