ローカル ストレージからいくつかのアイテムを取得しようとしています。それらが存在する場合は、ページのコンテンツを表示します。これが私がやろうとしていることです:
function loadData()
{
var transData = storage.get('TransInfo');
if(transData != undefined)
{
$('#UserName').val(transData[0]);
if(transData[1] == 'Blue')
{
$('#radio-choice-1').attr('checked', true);
}
else
{
$('#radio-choice-2').attr('checked', true);
}
$('#TransNum').val(transData[2]);
if(transData[3] == 'A')
{
$('#radio-choice-1-board').attr('checked', true);
}
else
{
$('#radio-choice-2-board').attr('checked', true);
}
unHideAll();
return true;
}
};
データが最終的にロードされたら、unHideAll() を呼び出します。
//THIS FUNCTION FAILS WHEN CALLED!!
function unHideAll()
{
/*
$('#radio-choice-1').checkboxradio('enable');
$('#radio-choice-2').checkboxradio('enable');
$('#radio-choice-1-board').checkboxradio('enable');
$('#radio-choice-2-board').checkboxradio('enable');
$('#TransNum').textinput('enable');
$('#UserContinue').remove();
$('#nextButton').show();
*/
};
私が得ている問題は、 unHideAll() がどこにも到達しないことです。上部に alert() を配置すると表示されますが、下部に alert() を配置すると表示されません。理由はありますか?
メソッドを呼び出す方法は次のとおりです。
$(document).ready(function()
{
clearStorage();
loadData();
unHide();
collectData();
});
unHideAll() を取得できない理由は何ですか? これは、ローカル ストレージがまだない場合に使用する従来の unHide() メソッドで動作しますが、ローカル ストレージが存在する場合、すぐに失敗する傾向があります。
何か案は?
編集:
これが私のローカルストレージコードです:
window.storage = {
store:localStorage,
get: function( key )
{
try
{
return JSON.parse(this.store[key]);
}
catch(e) {};
return undefined;
},
set: function( key, value)
{
try
{
this.store[key] = JSON.stringify(value);
}
catch(e) {};
}
};
編集2:
そして、これが機能するコードです。これが、私の新しい方法で機能しない理由が不可解な理由です。
//THIS CODE WORKS FLAWLESSLY TO REVEAL ITEMS!!
$('#UserContinue').click(function()
{
if($('#UserName').val() == '')
{
alert('Please Enter a User Name First!');
return false;
}
else
{
User_Name = $('#UserName').val();
$('#radio-choice-1').checkboxradio('enable');
$('#radio-choice-2').checkboxradio('enable');
$('#radio-choice-1-board').checkboxradio('enable');
$('#radio-choice-2-board').checkboxradio('enable');
$('#TransNum').textinput('enable');
$('#UserContinue').remove();
$('#nextButton').show();
confirm('Welcome ' + User_Name +'!');
return true;
}
return true;
});
これは本当に奇妙です...