使用JSON存储多个表单条目

时间:2013-01-08 13:23:33

标签: javascript json html5 local-storage

我正在尝试创建一个记笔记网络应用程序,它将使用HTML5本地存储简单地存储笔记客户端。我认为JSON是这样做的方法,但不确定如何去做。

我有一个简单的表单,其中包含Title和textarea。有没有办法可以提交表格并存储用几个“注释”输入的详细信息然后将它们列回来?

我是Javascript和JSON的新手,所以任何帮助都会受到赞赏。

3 个答案:

答案 0 :(得分:1)

有很多种方法可以使用json。

1>你可以在HTML页面上创建一个功能并调用ajax&发布数据。 在这里你必须使用$(“#txtboxid”)。val()。获得价值并发布。

2 - ;使用敲出js绑定两个方法。并调用ajax。

这里是调用Web应用程序的简单代码。使用ajax调用。

var params = { "clientID": $("#txtboxid") };     

        $.ajax({
            type: "POST",
            url: "http:localhost/Services/LogisticsAppSuite.svc/Json/GetAllLevelSubClients",
            contentType: 'application/json',

            data: JSON.stringify(params),
            dataType: 'json',
            async: false,
            cache: false,
            success: function (response) {



            },
            error: function (ErrorResponse) {


            }

答案 1 :(得分:0)

我编写了一个与实体框架类似的库。我稍后会把它here,你可以关注我或者联系我以获取源代码。然后你可以编写像以下的js代码:

var DemoDbContext = function(){ // define your db
    nova.data.DbContext.call(this);
    this.notes=new nova.data.Repository(...); // define your table
}
//todo: make DemoDbContext implement nova.data.DbContext
var Notes = function(){
    this.id=0; this.name="";
}
//todo: make Note implement nova.data.Entity

如何查询数据?

var notes = new DemoDbContext().notes.toArray(function(data){});

如何向db添加注释?

var db = new DemoDbContext();
db.notes.add(new Note(...));
db.saveChanges(callback);

答案 2 :(得分:0)

根据您要存储的信息的复杂程度,您可能不需要JSON。

您可以使用HTML5中的setItem() localStorage方法在客户端保存键/值对。您只能使用此方法存储字符串值,但如果您的注释没有太复杂的结构,这可能是最简单的方法。假设这是您使用的一些HTML:

<input type="text" id="title"></input>
<textarea id="notes"></textarea>

您可以使用这个简单的Javascript代码来存储信息:

// on trigger (e.g. clicking a save button, or pressing a key)
localStorage.setItem('title', document.getElementById('title').value);
localStorage.setItem('textarea', document.getElementById('notes').value);

您可以使用localStorage.getItem()来检索值。

Here is a simple JSFiddle我创建的目的是向您展示方法的工作原理(尽管不使用与上面完全相同的代码;这个代码依赖于keyup事件)。

我可以看到,您可能想要使用JSON的唯一原因是,如果您需要一个深度适合您的笔记的结构。例如,您可能希望附加包含其写入日期等信息的注释,并将它们放在如下结构中:

{
    'title': {
        'text':
        'date':
    }
    'notes': {
        'text':
        'date':
    }
}

那将是JSON。但请记住,localStorage.setItem()方法只接受字符串值,您需要将对象转换为字符串才能执行该操作,然后在使用localStorage.getItem()检索时将其转换回来。方法JSON.stringify将执行对象到字符串的转换,JSON.parse将执行相反的操作。但正如我所说,这种转换意味着额外的代码,只有你的笔记需要那么复杂才真的值得。