通过隐藏输入中的表单发送数组

时间:2012-05-15 21:08:47

标签: javascript jquery html

我正在尝试将数组从html页面发送到asp代理(到服务),但无法使数组正常工作。

数组类型:json

脚本:JavaScript / jquery

var order = new Array();
for (var i = 0; i < list.length; i++) {
if (list[i].included == true)
order.push({ MarketID: list[i].marketID, Crop: list[i].crop })
}

$("#orderValue").val(order.join());
...

<form action="/hd.asp" method="post" id="hdForm">
<input type="hidden" name="order" id="orderValue" />
...
</form>

删除阵列,它工作正常,但阵列是必需的属性。我试过发送数组,使用.join()和其他一些东西,但似乎没有任何工作。

2 个答案:

答案 0 :(得分:1)

试试这个:

$("#orderValue").val(JSON.stringify(order));

编辑 ..糟糕,应该将JSON.stringify()中的顺序作为参数。现在试试吧。

答案 1 :(得分:0)

[编辑] c.hill首先到达那里:$ [/ EDIT]

请勿使用join(),请使用JSON.stringify(),例如:

var doit = function( myArray ) {
    var arrayString = JSON.stringify( myArray );
    $('#orderValue').val( arrayString );
    // rest of code
}