2015-09-20 31 views
-2

我試着去到另一個頁面發送一些數據。我將如何追加對象數組:var tableData到窗體?林非常新的jQuery,所以如果有另一種方法,我應該使用發送所有的數據到另一個頁面,請告知。但所有其他數據都沒有任何問題進入其他頁面。如何追加對象的數組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(); 
}); 

以下以下不工作

$("<input>", tableData.val()).appendTo(form); 
+1

'VAL()'上的形式的控制元件不是數據陣列中使用。如果你想在你的表單中,你需要將數據串入數組 – charlietfl

+0

謝謝你讓我走向正確的道路。我用:$( 「」,{名稱: 「資料表」,值:JSON.stringify(資料表)})。appendTo(形式); –

+0

是啊...你去了 – charlietfl

回答

0

看起來你要發送一串鑰匙 - >值對一個輸入。

也許你可以通過數組循環,使用密鑰作爲名稱的輸入,然後將這些值轉換成字符串(逗號分隔?),並把那個作爲輸入值。

這樣,你正在每一個按鍵輸入。

1

我用下面的,以獲得期望的結果

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