首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将JQuery数组与PHP数据一起提交到PHP

将JQuery数组与PHP数据一起提交到PHP
EN

Stack Overflow用户
提问于 2013-01-16 13:35:31
回答 4查看 1.2K关注 0票数 1

我涉足了JQuery,遇到了一个我还不太清楚的问题。以下是背景:

我有一个HTML,使用MySQL & PHP,用来编辑一个CMS帖子。这篇文章将有一份附件清单(如。图库的图片,或可下载的文件)。使用JQuery,用户可以单击这些列表项元素,并在一个显示的div中编辑每个附件的细节(例如。删除图像,添加字幕等)。

当前,当用户选择删除附件时,我只是淡出它的不透明性,并为用户提供一个新的选项来“撤消”删除。在提交完整的父表单( CMS帖子)后,我希望收集所有仍然标记为要删除的附件,并将它们的GUID提交给PHP脚本,该脚本正在为我进行所有其余的帖子更新。

备选案文A:

是否可以将JQuery数组与通过表单输入自然发送到动作脚本的数据一起提交到PHP?

备选方案B:

是否可以用JQuery动态填充/清空(隐藏的)表单输入数组,然后将其与其他所有内容自然地提交到操作脚本中?

我目前正处于用必要的GUID填充Javascript数组的阶段,但现在不知道该如何处理它。

代码语言:javascript
复制
//populate deleted attachments array
$(document).ready(function() {
  $('#post-editor').submit(function() {
    var arrDeleted = [];    
    $('.deleted-att').each(function(){
      arrDeleted.push({guid: $(this).attr("data-guid")});
    });
    //do something with array
  });
});
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-01-16 13:41:06

JSON.stringify arrDeleted并将它们放在表单中的一个隐藏字段中,该字段将提交。

代码语言:javascript
复制
$('#post-editor').submit(function() {
    var arrDeleted = [];    
    $('.deleted-att').each(function(){
        arrDeleted.push({guid: $(this).attr("data-guid")});
    });
    $('#post-hidden').val(JSON.stringify(arrDeleted));
});

在html中的某个位置:

代码语言:javascript
复制
<form id="post-editor">
    <input type="hidden" id="post-hidden" name="post-hidden" />
    <!-- ... other fields ... -->
 </form>

然后在服务器上使用json_decode($_POST['post-hidden'])来获取数组。

票数 2
EN

Stack Overflow用户

发布于 2013-01-16 13:43:11

在form..put中创建一个隐藏字段,通过jquery在输入中创建arrDeleted值,并发布form..use json_decode()以获得发布的值.

代码语言:javascript
复制
<input  type="hidden" id="hidden"/>

JQUERY

代码语言:javascript
复制
$(document).ready(function() {
   $('#post-editor').submit(function() {
   var arrDeleted = [];    
   $('.deleted-att').each(function(){
    arrDeleted.push({guid: $(this).attr("data-guid")});
  });
   $('#hidden').val(JSON.stringify(arrDeleted));
 });
});
票数 1
EN

Stack Overflow用户

发布于 2013-01-16 13:45:07

最简单的方法就是在HTML表单中添加一个隐藏的输入字段。

然后在jQuery中做这样的事情

代码语言:javascript
复制
$('form').submit(function() {
    $('#hidden_id_field').val( arrDeleted.join(',') );
});

在本例中,arrDeleted是您已经设置的数组。它将发送一个逗号分隔列表,然后在您的PHP中,您可以拆分这些值,并按您的需要执行操作。

通常,我只需执行AJAX并将JSON发送到我的应用程序。但是,如果你真的想这样做的话,上面的方法会奏效的。它的优点是在提交表单之前不会实际删除服务器上的任何内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14359695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档