你好,我正在做一个表单,我使用填充方法在 jJQuery 中填写一个表单(是的,我知道 jquery 只是一个库)进行测试。现在我使用 Json 和本地存储将数据保存在表单中。然后我回调本地存储中的对象并使用 Json 将其转回字符串。问题是该字符串将与我硬编码到填充方法中的字符串完全相同,但是当我用该字符串替换它时(因此它始终使用当前表单保存的数据),它将无法正常工作。我假设这是一件小事。
这是我从本地存储回调并转回字符串的对象。
var myString = localStorage.getItem("all");
var myStringSave = JSON.stringify(myString); //my string
myStringSave 将包含例如: 姓名:'Joe',日期出生:'01/02/1992' 这与我的硬编码完全相同。然而硬编码可以工作
$('#frm').populate({Name:'Joe',dateBirth:'01/02/1992'})
但是字符串中的那个不起作用:
$('#frm').populate(myStringSave)
或
$('#frm').populate({myStringSave})
我已经看了几个小时了,但毫无意义。该字符串与我的硬编码字符串完全相同,那么为什么它不起作用呢?谢谢您的帮助,非常感谢。
最佳答案
populate接受 JSON 作为参数,然后给它一个字符串。
The basic form for using Populate is: $(selector).populate(JSON, options)
不要这样做:
var myString = localStorage.getItem("all"); // this IS a string (localStorage can't store anything else)
var myStringSave = JSON.stringify(myString); // you stringify a string
您可以使用以下命令取回 JSON:
myJsonSave = JSON.parse( localStorage.all )
然后 $('#frm').populate(myJsonSave)
应该可以工作。
您甚至可以在一行中完成所有操作:
$('#frm').populate( JSON.parse( localStorage.all ) )
关于Javascript 使用本地存储,回调对象并使用 Json 更改为字符串以在填充函数中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29161678/