将jquery数组附加到表单提交

时间:2014-01-18 20:22:43

标签: jquery post form-submit onsubmit

我使用以下内容在按钮点击时提交表单。我还需要在这篇文章中附上一个名为'selected'的数组。我不能使用ajax,因为在发布页面上会发生下载。我需要这个数组来处理要下载的文件。

我做了一些搜索并发现了这一点,但无法让它工作:

var input = $("<input>").attr({"type":"hidden","name":"selected"}).val(selected);
$('#test').append(input);

当前:

var selected = [1,2,54,56,23]; // could be anything

$('#test').submit(function(event) {
    if (selected.length > 0)
    {
        $('#test').attr('action','/process/p_screenshots_download2.php');
        $('#test').attr('type','post');
        return;
    }
    event.preventDefault();
});

1 个答案:

答案 0 :(得分:3)

尝试

$('#test').submit(function(event) {
    $.each(selected, function(i, v){
        var input = $("<input>").attr({"type":"hidden","name":"selected[]"}).val(v);
        $('#test').append(input);    
    });
    if (selected.length > 0)
    {
        $('#test').prop('action','/process/p_screenshots_download2.php');
        $('#test').prop('method','POST');
        return;
    }
    event.preventDefault();
});

这将在提交之前将一组隐藏的输入与数组中的值一起添加到表单中。