我涉足了JQuery,遇到了一个我还不太清楚的问题。以下是背景:
我有一个HTML,使用MySQL & PHP,用来编辑一个CMS帖子。这篇文章将有一份附件清单(如。图库的图片,或可下载的文件)。使用JQuery,用户可以单击这些列表项元素,并在一个显示的div中编辑每个附件的细节(例如。删除图像,添加字幕等)。
当前,当用户选择删除附件时,我只是淡出它的不透明性,并为用户提供一个新的选项来“撤消”删除。在提交完整的父表单( CMS帖子)后,我希望收集所有仍然标记为要删除的附件,并将它们的GUID提交给PHP脚本,该脚本正在为我进行所有其余的帖子更新。
备选案文A:
是否可以将JQuery数组与通过表单输入自然发送到动作脚本的数据一起提交到PHP?
备选方案B:
是否可以用JQuery动态填充/清空(隐藏的)表单输入数组,然后将其与其他所有内容自然地提交到操作脚本中?
我目前正处于用必要的GUID填充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
});
});发布于 2013-01-16 13:41:06
JSON.stringify arrDeleted并将它们放在表单中的一个隐藏字段中,该字段将提交。
$('#post-editor').submit(function() {
var arrDeleted = [];
$('.deleted-att').each(function(){
arrDeleted.push({guid: $(this).attr("data-guid")});
});
$('#post-hidden').val(JSON.stringify(arrDeleted));
});在html中的某个位置:
<form id="post-editor">
<input type="hidden" id="post-hidden" name="post-hidden" />
<!-- ... other fields ... -->
</form>然后在服务器上使用json_decode($_POST['post-hidden'])来获取数组。
发布于 2013-01-16 13:43:11
在form..put中创建一个隐藏字段,通过jquery在输入中创建arrDeleted值,并发布form..use json_decode()以获得发布的值.
<input type="hidden" id="hidden"/>JQUERY
$(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));
});
});发布于 2013-01-16 13:45:07
最简单的方法就是在HTML表单中添加一个隐藏的输入字段。
然后在jQuery中做这样的事情
$('form').submit(function() {
$('#hidden_id_field').val( arrDeleted.join(',') );
});在本例中,arrDeleted是您已经设置的数组。它将发送一个逗号分隔列表,然后在您的PHP中,您可以拆分这些值,并按您的需要执行操作。
通常,我只需执行AJAX并将JSON发送到我的应用程序。但是,如果你真的想这样做的话,上面的方法会奏效的。它的优点是在提交表单之前不会实际删除服务器上的任何内容。
https://stackoverflow.com/questions/14359695
复制相似问题