1

我试图让一些 html5 本地存储工作,但没有运气。

它没有保存,当我单击“单击以保存”链接时,我没有收到有关该功能的警报。

我在这里忘记了什么?

下面是完整的代码:

<html>
<head>
<title></title>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>

<script>
$(document).ready(function(){

loaddata(); //Load the saved data

function loaddata() {
    $('#mydiv').val(localStorage.mydata);

}


function savedata() {
    localStorage.mydata = $('#mydiv').val();
    alert('Data Saved!'); //This is not showing up
} 


});
</script>
</head>
<body>

<a href="#" onclick="savedata();">Click to Save</a>

<table>
    <tr>
        <td id="mydiv">0</td>
    </tr>
</table>

</body>
</html>
4

1 回答 1

3

您无法savedata从链接的 onclick 处理程序访问,因为它包含在document.ready调用中。

要么移出savedatadocument.ready要么使用 jQuery 将点击处理程序直接附加到元素。

$(document).ready(function() {

    loaddata(); //Load the saved data

    function loaddata() {
        $('#mydiv').html(localStorage.mydata);

    }
});

function savedata() {
    localStorage.mydata = $('#mydiv').html();
    alert('Data Saved!'); //This is not showing up
}

或者其他方式

<a href="#" id="savebtn">Click to Save</a>

$("#savebtn").click(function() {
    localStorage.mydata = $('#mydiv').val();
    alert('Data Saved!'); //This is not showing up
});

这是一个修复错误的jsFiddle,包括尝试.val()td元素上使用。它还将数据更改为不同的值,您可以查看它是否正常工作。

于 2012-09-10T15:54:17.760 回答