1

いくつかの html5 localstorage を機能させようとしていますが、うまくいきません。

保存されていません。「クリックして保存」リンクをクリックしても、機能に関するアラートが表示されません。

私はここで何かを忘れていますか?

以下は完全なコードです。

<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

またはから移動savedataするdocument.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 に答える