我有我的页面上的数据表。该列“开始”,“结束”,“评论”和“选项”。在选项栏是一个按钮,删除该行,和一个按钮,使表的行编辑。这样的“开始”,“结束”和“评论”的价值观被改变。再次单击它完成编辑过程。最后,还有一种方法到另一行添加到表中。所有这一切都按预期工作。

我想在创建的阵列列于表中的数据的底部,看起来像这样添加一个按钮(表示为JSON纯粹为了便于表示为SO的:不是必需的):

[
    {
        "start"     :"2009/08/01",
        "end"       :"2009/08/08",
        "comment"   :"an example date.",
    },
    {
        "start"     :"2009/07/01",
        "end"       :"2009/07/08",
        "comment"   :"another example date, a month earlier.",
    },
    {
        "start"     :"2000/07/01",
        "end"       :"2000/07/08",
        "comment"   :"another example date, a year earlier. You get the idea.",
    }
]

我不应该有太多的麻烦构建阵列,但一旦我有,我怎么能张贴到后端PHP脚本(然后将使用put_csv()将数据写入到文件)?理想情况下,这将是availiable服务器端在一个阵列形式,以允许验证。

我很高兴使用jquery,如果它是必需的。

有帮助吗?

解决方案

您怎样端到服务器取决于你想要什么archieve做。如果要加载了新的一页,这将处理数据,您可以使用通常的形式隐藏输入。另外,如果你想处理是通过AJAX的背景下,利用作为jQuery.ajax说CRasco。您使用无论哪种方式,你需要结构化数组转换成一个简单的键/值列表。

一个选项是生成一个JSON文件(我不认为jQuery提供了这样的功能,但你可以很容易找到的东西),并使用一个单一的领域与序列化的文档。然后在服务器端你会使用json_decode得到阵列回来。如果您正在使用AJAX方法,jQuery.ajax呼叫数据选项将包括:

{
    'data': '[{"start":"2009/08/01","end":"2009/08/08","comment":"an example date."},...'
}

一个更好的方法是将其序列化到在PHP本地理解的格式字段的列表。这意味着你必须做什么特别的,和$_POST['data']将包含数组。例如:

{
    'data[0][start]': '2009/08/01',
    'data[0][end]': '2009/08/08',
    'data[0][comment]': 'an example date.',
    'data[1][start]': '2009/07/01',
    'data[1][end]': '2009/07/08',
    'data[1][comment]': 'another example date, a month earlier.',
    ... 
}

如果您使用的形式的方法,则需要生成输入字段,如:

<input type="hidden" name="data[0][start]" value="2009/08/01" />

其他提示

我肯定会使用jQuery。下面是$ .POST()函数的页面。

http://docs.jquery.com/Ajax/jQuery.post

一个需要注意的是,$。员额()可以被简化,免去了您设置回调什么,但一个成功的岗位能力$阿贾克斯()函数的包装。对于通过AJAX重要的交易,我会用这样的:

http://docs.jquery.com/Ajax/jQuery.ajax

一个例子是:

$.ajax({
      url: "script.php",
      global: false,
      type: "POST",
      data: ({id : this.getAttribute('id')}),
      dataType: "html",
      success: function(msg){
         alert(msg);
      }
   });
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top