这是我的JavaScript代码,用于创建具有多个“输入”标签的表单。
function getStorageValues(){
if (typeof(Storage) != "undefined")
{
var myform=document.createElement("FORM");
myform.type = "post";
myform.action = "";
myform.name = "myform";
document.body.appendChild(myform);
for (var i = 0; i < sessionStorage.length; i++) {
var myinput=document.createElement("INPUT");
myinput.value = sessionStorage.getItem(i); //something wrong with this???
myinput.name = "tag" + i;
document.myform.appendChild(myinput);
}
}
但是,在创建表单时,当我在浏览器上执行“inspect element”时,我看不到任何已创建输入字段的“value”属性。我只能看到:
<input name="tag0">
<input name="tag1">
<input name="tag2">
... ando so on ...
“价值”属性消失了吗?以及如何在那里展示它?不过,我可以看到输入字段中的值!但我也需要在代码中使用它!
P.S。对不起,我无法创建小提琴演示,因为这是使用网络存储。粘贴完整代码太多了。
答案 0 :(得分:1)
您是否尝试过使用setAttribute方法?
myinput.setAttribute("value", sessionStorage.getItem(i));
编辑:您也可以尝试将其与空字符串连接以更改类型:
myinput.value = "" + sessionStorage.getItem(i);
答案 1 :(得分:1)
sessionStorage
无法使用数字键进行访问。 getItem
需要一个字符串。要获取密钥并访问该值,您可以执行以下操作:
myinput.value = sessionStorage.getItem(sessionStorage.key(i));
答案 2 :(得分:1)
您可以使用:
myinput.setAttribute('value', sessionStorage.getItem(i))
我试过它对我有用!