Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将对象数组附加到jquery表单_Javascript_Jquery - Fatal编程技术网

Javascript 如何将对象数组附加到jquery表单

Javascript 如何将对象数组附加到jquery表单,javascript,jquery,Javascript,Jquery,我正在尝试将一些数据发送到另一个页面。如何将objects:var tableData数组附加到表单中?我对jquery非常陌生,所以如果我应该使用另一种方法将所有数据发送到另一个页面,请给出建议。但所有其他数据都可以毫无问题地进入另一页 var tableData = $('tr[data-key]').map(function(){ var row= $(this), key = row.data('key'), values= row.find(':input').map(

我正在尝试将一些数据发送到另一个页面。如何将objects:var tableData数组附加到表单中?我对jquery非常陌生,所以如果我应该使用另一种方法将所有数据发送到另一个页面,请给出建议。但所有其他数据都可以毫无问题地进入另一页

var tableData = $('tr[data-key]').map(function(){
    var row= $(this), key = row.data('key'),
    values= row.find(':input').map(function(){
         return this.value;
     }).get();

     return {
         key    : key,
         values : values
     };        
 }).get();;     
$('#download').on('click', function(e) {
    e.preventDefault();
    var csrfToken = $('meta[name="csrf-token"]').attr("content");

    var form = $("<form>", { action: "print", method: "POST", target: "_blank" });
    $("<input>", { name: "logo", value: $("#logo").html() }).appendTo(form);
    $("<input>", { name: "header", value: $("#header").html() }).appendTo(form);
    $("<input>", { name: "title", value: $("#title").val() }).appendTo(form);
    $("<input>", { name: "table", value: $("#table").html() }).appendTo(form);
    $("<input>", { name: "rules", value: $("#rules").html() }).appendTo(form);
    $("<input>", { name: "payone", value: $("#payone").val() }).appendTo(form);
    $("<input>", { name: "paytwo", value: $("#paytwo").val() }).appendTo(form);
    $("<input>", { name: "paythree", value: $("#paythree").val() }).appendTo(form);
    $("<input>", { name: "payfour", value: $("#payfour").val() }).appendTo(form);
    $("<input>", { name: "payfive", value: $("#payfive").val() }).appendTo(form);
    $("<input>", { name: "paysix", value: $("#paysix").val() }).appendTo(form);
    $("<input>", { name: "payseven", value: $("#payseven").val() }).appendTo(form);
    $("<input>", { name: "payeight", value: $("#payeight").val() }).appendTo(form);
    $("<input>", { name: "bayone", value: $("#bayone").val() }).appendTo(form);
    $("<input>", { name: "baytwo", value: $("#baytwo").val() }).appendTo(form);
    $("<input>", { name: "baythree", value: $("#baythree").val() }).appendTo(form);
    $("<input>", { name: "bayfour", value: $("#bayfour").val() }).appendTo(form);
    $("<input>", { name: "bayfive", value: $("#bayfive").val() }).appendTo(form);
    $("<input>", { name: "baysix", value: $("#baysix").val() }).appendTo(form);
    $("<input>", { name: "bayseven", value: $("#bayseven").val() }).appendTo(form);
    $("<input>", { name: "bayeight", value: $("#bayeight").val() }).appendTo(form);
    $("<input>", { name: "csrf", value: csrfToken }).appendTo(form);
    $("<input>", tableData.val() ).appendTo(form);

    form.submit();
});
var tableData=$('tr[data key]').map(函数(){
var row=$(this),key=row.data('key'),
values=row.find(':input').map(函数(){
返回此.value;
}).get();
返回{
钥匙:钥匙,
价值观:价值观
};        
}).get();;
$(“#下载”)。在('click',函数(e){
e、 预防默认值();
var csrfToken=$('meta[name=“csrf-token”]”)。attr(“内容”);
var form=$(“”,{action:“print”,method:“POST”,target:“\u blank”});
$(“”,{name:“logo”,value:$(“#logo”).html()});
$(“”,{name:“header”,value:$(“#header”).html()});
$(“”,{name:“title”,value:$(“#title”).val()});
$(“”,{name:“table”,value:$(“#table”).html()});
$(“”,{name:“rules”,value:$(“#rules”).html()});
$(“”,{name:“payone”,value:$(“#payone”).val()});
$(“”,{name:“paytoo”,value:$(“#paytoo”).val()});
$(“”,{name:“paytree”,value:$(“#paytree”).val()});
$(“”,{name:“payfour”,value:$(“#payfour”).val()});
$(“”,{name:“payfive”,value:$(“#payfive”).val()});
$(“”,{name:“paysix”,value:$(“#paysix”).val()});
$(“”,{name:“payseven”,value:$(“#payseven”).val()});
$(“”,{name:“payeight”,value:$(“#payeight”).val()});
$(“”,{name:“bayone”,value:$(“#bayone”).val()});
$(“”,{name:“baytower”,value:$(“#baytower”).val()});
$(“”,{name:“baytree”,value:$(“#baytree”).val()});
$(“”,{name:“bayfour”,value:$(“#bayfour”).val()});
$(“”,{name:“bayfive”,value:$(“#bayfive”).val()});
$(“”,{name:“baysix”,value:$(“#baysix”).val()});
$(“”,{name:“bayseven”,value:$(“#bayseven”).val()});
$(“”,{name:“bayeight”,value:$(“#bayeight”).val()});
$(“”,{name:“csrf”,value:csrfToken});
$(“”,tableData.val()).appendTo(表单);
表单提交();
});
以下内容不起作用

$("<input>", tableData.val() ).appendTo(form);
$(“”,tableData.val()).appendTo(form);

看起来您正试图将一组键->值对发送到一个输入

也许您可以在数组中循环,使用键作为输入的名称,然后将值转换为字符串(逗号分隔?),并将其作为输入的值


这样,每个键只需输入一次。

我使用以下方法获得所需的结果

$("<input>", {name: "tableData", value: JSON.stringify(tableData) }).appendTo(form);
$(“”,{name:“tableData”,值:JSON.stringify(tableData)});

val()
用于表单控件元素而不是数据数组。如果您希望它以您的形式出现,您需要在ArrayTanks中对数据进行字符串化,以便引导我走上正确的道路。我使用:$(“”,{name:“tableData”,value:JSON.stringify(tableData)});