gpt4 book ai didi

javascript - jQuery 和本地存储异常行为

转载 作者:行者123 更新时间:2023-11-30 18:27:35 24 4
gpt4 key购买 nike

我正在尝试从本地存储中检索一些项目,如果它们在那里,则在页面上显示一些内容。这是我正在尝试做的事情:

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;
});

这真的很奇怪......

最佳答案

unHideAll() 的代码是完全错误的。您没有像 checkboxradio() 或 textinput() 这样的方法。这就是为什么在调用该函数时会发生错误并产生您解释的行为的原因。 要使用 jQuery 启用/禁用表单元素,请阅读常见问题解答: http://docs.jquery.com/Frequently_Asked_Questions#How_do_I_disable.2Fenable_a_form_element.3F

关于javascript - jQuery 和本地存储异常行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10463424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com