3

好的,当有人提交数据时,我正在尝试将数据附加到现有表单。

function submitCustOpts() {
var custoptsids=new Array(".implode(",",$optids).");
var pfrm=document.forms['promotion".$promo_data["promo_id"]."'];

for(var i in custoptsids) {
    selectedVal = $('#'+custoptsids[i]).val();

    var input = $('<input>').attr(
    {
        type: 'hidden',
        name: 'cf_'+custoptsids[i],
        value: selectedVal
    }).appendTo(pfrm);
}
pfrm.submit();
}

一切正常。所以直接忽略前半部分。我无法将其附加到表单的部分。custoptsids[i] 保存 id, selectedVal 保存值。这一切都很好,但我需要把它放在一个多维数组中。现在它像这样提交:

<!-- REQUEST: Array
(
    [promo_id] => 164792
    [station_id] => 2478
    [lang] => en
    [cf_28] => 55
    [cf_29] => 61
    [PHPSESSID] => 375ee178f5de3blahblahblah
)
-->

什么时候应该是这样的:

<!-- REQUEST: Array
(
    [promo_id] => 164792
    [station_id] => 2478
    [lang] => en
    [cf] => Array
        (
            [28] => 55
            [29] => 60
        )

    [PHPSESSID] => 375ee178f5de3blahblahblah
)
-->

所以我的问题是如何将这些值放入 cf 数组中。 cf_28 应该只是 cf,其中 28 和 29 作为内部数组的数组键。

4

1 回答 1

2

如果您真的离“解决方案”有一步之遥,我也很乐意提供帮助。解决方案是“暂停一会儿”、“喝杯咖啡/茶”,然后回到代码。但不管怎么说:

var input = $('<input>').attr(
{
    type: 'hidden',
    // name: 'cf_'+custoptsids[i], <- look twice :)
    name: 'cf['+custoptsids[i]+']',
    value: selectedVal
}).appendTo(pfrm);

对我来说也是一样。每次。很高兴我能帮上忙。

于 2013-05-10T19:53:17.490 回答