创建输入元素后的JavaScript,HTML上未显示的值

时间:2014-06-04 15:38:44

标签: javascript html input web-storage

这是我的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。对不起,我无法创建小提琴演示,因为这是使用网络存储。粘贴完整代码太多了。

3 个答案:

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

我试过它对我有用!