使用jQuery和Ajax发送输入数组

时间:2015-03-07 11:25:38

标签: javascript php jquery ajax forms

我正在尝试通过我的表单发送表单字段数组但是不成功: - /

我有一个隐藏字段,由jQuery生成,看起来像这样:

$(".imghidden").html('<input type="hidden" name="pimage[]"  value="'+data.imgname+'">');

这是为上传到此帖子的每个文件生成的。当我提交表格时,我没有通过&#34; pimage&#34;表格提交。所有其他字段都返回一个值?!?下面是我尝试使用的jQuery Ajax:

var $form = $( this ),
    category = $form.find( "select[name='category']" ).val(),
    newcategory = $form.find( "input[name='newcategory']" ).val(),
    title = $form.find( "input[name='title']" ).val(),
    subtitle = $form.find( "input[name='subtitle']" ).val(),
    content = $form.find( "textarea[name='content']" ).val(),
    pimage = $form.find( "input[name='pimage']" ).val()

// Send the data using post
var posting = $.post( "data/mod/projects.php", { createnew: true, cat: category, newcat: newcategory, ti: title, sti: subtitle, con: content, pimg: pimage  });

我做错了什么。任何帮助表示赞赏。

提前致谢: - )

2 个答案:

答案 0 :(得分:5)

您的jQuery选择器正在查找名称为pimage的输入...它不存在。我没有对它进行测试,但看起来你的jQuery选择器应该寻找pimage[]

e.g。

pimage = $form.find( "input[name='pimage[]']" ).val()

答案 1 :(得分:0)

您正在尝试查找不存在的选择器。尝试

$form.find( "input[name^='pimage']" ).val()