Javascript 尝试将对象添加到存储阵列中,然后使用循环将其写出

Javascript 尝试将对象添加到存储阵列中,然后使用循环将其写出,javascript,jquery,html,Javascript,Jquery,Html,我试图将一些“联系人”添加到本地存储中,每次添加新联系人时,我都想将其刷新到jquery列表中。如果我不使用localstorage,我会成功地做到这一点。但现在我总是有一些问题,不能解决它例如,现在我得到了这个错误 </head> <body> <div data-role="page" data-theme="b" id="page1"> <div data-role="header" id =

我试图将一些“联系人”添加到本地存储中,每次添加新联系人时,我都想将其刷新到jquery列表中。如果我不使用localstorage,我会成功地做到这一点。但现在我总是有一些问题,不能解决它

例如,现在我得到了这个错误

    </head>
    <body>



        <div data-role="page" data-theme="b" id="page1">

        <div data-role="header" id ="head">
            <h1></h1>            
        </div> <!--HEADER-->

        <div class="ui-content ui-body-c" role="main" align="left">

        <a href="#popupBasic" data-rel="popup" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-plus" data-transition="pop">Add contact</a>
        <div data-role="popup" id="popupBasic" data-theme="a">
        <p>

        <label for="uj">Name: </label>
        <input type="text" id="name"/>
        <label for="text">Phone: </label>
        <input type="text" id="tell"/>
        <a data-role="button" onClick="addContact()">add</a> 
        </p>
        </div>

        <br>
        <div id="liss">
        <ul id="listC" data-role="listview" data-autodividers="true" data-filter="true" data-inset="true">

        </ul>
       </div>    
       </div> <!--CONTENT-->

        <div data-role="footer" align="center">
            <a data-role="button" onClick="clear()">Delete memmory</a>
            <a data-role="button" onClick="showThemAll()">load</a>
        </div> <!--FOOTER-->
        </div>

    </body>
</html>
未捕获类型错误:未定义不是函数

    </head>
    <body>



        <div data-role="page" data-theme="b" id="page1">

        <div data-role="header" id ="head">
            <h1></h1>            
        </div> <!--HEADER-->

        <div class="ui-content ui-body-c" role="main" align="left">

        <a href="#popupBasic" data-rel="popup" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-plus" data-transition="pop">Add contact</a>
        <div data-role="popup" id="popupBasic" data-theme="a">
        <p>

        <label for="uj">Name: </label>
        <input type="text" id="name"/>
        <label for="text">Phone: </label>
        <input type="text" id="tell"/>
        <a data-role="button" onClick="addContact()">add</a> 
        </p>
        </div>

        <br>
        <div id="liss">
        <ul id="listC" data-role="listview" data-autodividers="true" data-filter="true" data-inset="true">

        </ul>
       </div>    
       </div> <!--CONTENT-->

        <div data-role="footer" align="center">
            <a data-role="button" onClick="clear()">Delete memmory</a>
            <a data-role="button" onClick="showThemAll()">load</a>
        </div> <!--FOOTER-->
        </div>

    </body>
</html>
谢谢你的建议。

    </head>
    <body>



        <div data-role="page" data-theme="b" id="page1">

        <div data-role="header" id ="head">
            <h1></h1>            
        </div> <!--HEADER-->

        <div class="ui-content ui-body-c" role="main" align="left">

        <a href="#popupBasic" data-rel="popup" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-plus" data-transition="pop">Add contact</a>
        <div data-role="popup" id="popupBasic" data-theme="a">
        <p>

        <label for="uj">Name: </label>
        <input type="text" id="name"/>
        <label for="text">Phone: </label>
        <input type="text" id="tell"/>
        <a data-role="button" onClick="addContact()">add</a> 
        </p>
        </div>

        <br>
        <div id="liss">
        <ul id="listC" data-role="listview" data-autodividers="true" data-filter="true" data-inset="true">

        </ul>
       </div>    
       </div> <!--CONTENT-->

        <div data-role="footer" align="center">
            <a data-role="button" onClick="clear()">Delete memmory</a>
            <a data-role="button" onClick="showThemAll()">load</a>
        </div> <!--FOOTER-->
        </div>

    </body>
</html>
HTML页面:

    </head>
    <body>



        <div data-role="page" data-theme="b" id="page1">

        <div data-role="header" id ="head">
            <h1></h1>            
        </div> <!--HEADER-->

        <div class="ui-content ui-body-c" role="main" align="left">

        <a href="#popupBasic" data-rel="popup" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-plus" data-transition="pop">Add contact</a>
        <div data-role="popup" id="popupBasic" data-theme="a">
        <p>

        <label for="uj">Name: </label>
        <input type="text" id="name"/>
        <label for="text">Phone: </label>
        <input type="text" id="tell"/>
        <a data-role="button" onClick="addContact()">add</a> 
        </p>
        </div>

        <br>
        <div id="liss">
        <ul id="listC" data-role="listview" data-autodividers="true" data-filter="true" data-inset="true">

        </ul>
       </div>    
       </div> <!--CONTENT-->

        <div data-role="footer" align="center">
            <a data-role="button" onClick="clear()">Delete memmory</a>
            <a data-role="button" onClick="showThemAll()">load</a>
        </div> <!--FOOTER-->
        </div>

    </body>
</html>


姓名:
电话:
”;
localStorage.contacts.push(AreYouHuman);
$(“#listC”)。追加(liss);
$(“#listC”).listview(“刷新”);
}
函数clear()
{
localStorage.clear();
}
函数showThemAll()
{
if(localStorage.contacts)
{
var contacts=JSON.parse(localStorage.contacts);
对于(i=0;i”;
联系人:推送(AreYouHuman);
localStorage.contacts=JSON.stringify(contacts);
$(“#listC”)。追加(liss);
$(“#listC”).listview(“刷新”);

}

localStorage
仅适用于字符串。使用JSON存储数据。好的,我现在就得到了它,因此可以使用本地存储(或类似于本地存储)执行我想要的操作?是否可以将字符串数组添加到localstorage?正如我所说的:使用JSON。并存储JSON而不是数组。使用
JSON.stringify
将对象转换为JSON。澄清并结合想法:IsmaelMiguel和balajisoundar是正确的。JSON.stringify用于存储,JSON.parse用于检索。localstorage将正常工作。im否我不确定我是否理解这一点,或者它向我显示了一个错误该怎么做?var contacts=(localStorage.contacts)?JSON.parse(localStorage.contacts)| |[];抱歉!这是个错误。我已经更新了代码。
var contacts=(localStorage.contacts)?JSON.parse(localStorage.contacts):[]
我仍然认为有些东西不完全是它应该是什么样子,现在它是可编译的,但是当我尝试添加一些联系人时,它会给我
未捕获的语法错误:意外的标记
检查这把小提琴。我已经为演示硬编码了值。
    </head>
    <body>



        <div data-role="page" data-theme="b" id="page1">

        <div data-role="header" id ="head">
            <h1></h1>            
        </div> <!--HEADER-->

        <div class="ui-content ui-body-c" role="main" align="left">

        <a href="#popupBasic" data-rel="popup" class="ui-btn ui-shadow ui-corner-all ui-btn-icon-left ui-icon-plus" data-transition="pop">Add contact</a>
        <div data-role="popup" id="popupBasic" data-theme="a">
        <p>

        <label for="uj">Name: </label>
        <input type="text" id="name"/>
        <label for="text">Phone: </label>
        <input type="text" id="tell"/>
        <a data-role="button" onClick="addContact()">add</a> 
        </p>
        </div>

        <br>
        <div id="liss">
        <ul id="listC" data-role="listview" data-autodividers="true" data-filter="true" data-inset="true">

        </ul>
       </div>    
       </div> <!--CONTENT-->

        <div data-role="footer" align="center">
            <a data-role="button" onClick="clear()">Delete memmory</a>
            <a data-role="button" onClick="showThemAll()">load</a>
        </div> <!--FOOTER-->
        </div>

    </body>
</html>