我昨天创建了一个益智游戏,并制作了一个保存系统,但是在加载保存时遇到错误:

here's the website

and here's a save

这是加载保存时启动的功能:

function loadSave(){
    var saveData = $("#saveText").text();
    var pieceData = saveData.split("|");
    var posData = [];

    var puzzleInfo = pieceData[0].split(",");
    createGrid(parseInt(puzzleInfo[1]));
    createPieces(parseInt(puzzleInfo[1]), puzzleInfo[0]);

    oldSource = imgSource;
    imgSource = puzzleInfo[0];
    console.log(saveData);
    $("#puzzleContainer img").attr("src", imgSource);

    for(i=1; i < pieceAmount+1; i++){
        posData = pieceData[i].split(";");
        $(".piece:nth-child("+i+")").css({
            top: posData[0],
            left: posData[1],
        });
    }

    $( "#pieceAmount" ).slider({
        value: puzzleInfo[1],
    });
    $("#pieceAmountValue").html(puzzleInfo[1]*puzzleInfo[1]);
}


经过一些故障排除后,我发现PuzzleInfo [0]根本没有任何内容

有谁知道为什么我从保存中获得的src为空?

编辑:

这是检测到错误时启动的功能:

$("#puzzleContainer img").error(function(){
    imgSource = oldSource;
    createGrid(Size);
    createPieces(Size, imgSource);
    $("#puzzleContainer img").attr("src", imgSource);
    alert("the image could not be found, is your link correct?");
});

最佳答案

我发现了什么地方出了问题

问题出在这里:

var saveData = $("#saveText").text();


saveData始终为空,我需要使用获取值

var saveData = $("#saveText").val();


代替

10-05 20:43
查看更多