2013-03-09 81 views
2

寻找将我的文本框值存储到本地存储,让他们在页面加载时调用,但如果没有输入值(即第一次加载应用程序)我得到一个错误的说法jquery&html5文本框从本地存储保存/加载

TypeError: pName is null 
[Break On This Error] 

if(pName.length>0){ 

JS:

$('#form').on("pageinit", function() { 
    $('#saveButton').click(function() { 
     localStorage.setItem("Name", $('#Name').val()); 
    }); 
}); 


$('#form').on("pageinit", function() { 
var pName = localStorage.getItem("Name");  
if(pName.length>0){ 
$('#Name').val(pName); 
} 
}); 

我尝试添加这一点,但它似乎并没有实际加载输入名称如果该值低于0 ....

$('#form').on("pageinit", function() { 
var pName = localStorage.getItem("Name"); 

    if(pName.length>0){ 
     $('#Name').val(pName); 
    } else { 
     $('#Name').val("Enter name."); 
    } 
    }); 

回答

2

只需使用if(!pName)而不是if(pName.length>0),null并且空字符串是虚假的,因此它满足不是空字符串的条件,并且如果其为空,则不会导致错误。