2013-02-26 138 views
0
<html> 
<head> 
<title></title> 
<style type="text/css"> 
    body 
    { 
     font-family: tahoma; 
    } 
    h2 
    { 
     font-weight: bold; 
     border-bottom: 2px solid gray; 
     margin-bottom: 10px; 
    } 
    #data 
    { 
     border: 1px solid grey; 
    } 
</style> 
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script> 
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
</head> 
<body> 
<script type="text/javascript">  
    var prefix = "HTML5LocalStorage-"; 
    $("#save").click(function() { 
     var key = $("#key").attr('value'); 
     var value = $("#value").attr('value'); 
     localStorage.setItem(prefix + key, value);   
     RewriteFromStorage(); 
    }); 

    function RewriteFromStorage() { 
     $("#data").empty(); 
     for (var i = 0; i < localStorage.length; i++) 
     { 
      var key = localStorage.key(i); 
      if (key.indexOf(prefix) == 0) { 
       var value = localStorage.getItem(key);     
       var shortkey = key.replace(prefix, ""); 
       $("#data").append(
      $("<div class='kvp'>").html(shortkey + "=" + value) 
       .append($("<input type='button' value='Delete'>") 
         .attr('key', key) 
         .click(function() { 
          localStorage.removeItem($(this).attr('key')); 
          RewriteFromStorage(); 
         }) 
        ) 
     ); 
      } 
     } 
    } 

    RewriteFromStorage(); 
</script> 
<h2> 
    LocalStorage Demo</h2> 
<div id="data"> 
</div> 
<hr /> 
<span>Key</span><input type="text" id="key" /><span>Value</span><input type="text" 
    id="value" /> 
<input type="button" id="save" value="Save" /> 

我已经写在上面localstorage.htm页(Visual Studio 2010中)的代码行,但输出什么按钮click.What错误,我有done.I这项技术是新的。HTML5数据不是在本地存储中存储

+0

我已经引用此链接http://jsfiddle.net/Benjol/HMEVd/ – 2013-02-26 11:47:52

+0

我不确定这是否相关,但在IE中'localStorage'在本地页面上不起作用。 – Teemu 2013-02-26 11:48:17

+0

可能与您的问题没有关系,但是这个 - .attr('value')' - 是完全错误的。当前的'value'是一个属性,而不是一个属性,并且有一个内置的jQuery函数专门用于获取/设置它应该使用的'.val()'。 – 2013-02-26 11:49:41

回答

0

你的问题就在这里:

var key = $("#key").attr('value'); 
    var value = $("#value").attr('value'); 

添加以下,看问题:

alert(key + ' ' + value); 

使用val INSEAD获得的输入值...

var key = $("#key").val(); 

您可以see this working in my JSFiddle

+0

你有没有js小提琴的尝试。你有wriiten脚本标记(在头部或身体内).. – 2013-02-26 12:04:54

+0

该脚本在'onload'事件上执行 - 所以你可以把它放在任何你喜欢的地方,只要你还附加它'onload'事件。我通常会在''标签前放置脚本。 – Fenton 2013-02-26 13:02:29