這裏是我的html:爲什麼多選值顯示爲csv而不是數組?
<select id="list" name="list" size=10 multiple>
<option value="xx">opt-1</option>
<option value="yy">opt-2</option>
<option value="zz">opt-3</option>
</select>
我得到的這個數值爲:
var list_v = $("#list").val();
提交使用。員額爲撥打:
'&mylist='+list_v
在CGI
我收集像這樣(perl):
@list_values = $q->param('mylist');
我將@list_values數組中的所有選定選項作爲一個元素。我以爲我應該獲得所有的值作爲數組的單獨元素!
因此,例如,如果有人選擇選擇-1和選擇2 I預計@list_values [XX YY](兩個值作爲兩個元件)
BUT,我不但得不到[XX,YY] (兩個值作爲一個元素)
formencoding不提交的方式,將是這樣的:'名單= XX&名單= YY&名單= zz'。可以使用jQuery'serialize()' – charlietfl
''&mylist ='+ list_v'做一個字符串連接,所以JS在'list_v'數組上做'toString()',它給出一個逗號分隔的列表(並且你已經指定了實際的參數名稱mylist在開始時只有一次)。 – nnnnnn
nnnnnn你是對的。我沒有使用表單提交數據只是一個$ .post ajax調用,所以我試圖構建數據字符串使用&我應該怎麼做?頁面上有其他元素(廣播,輸入,很多選擇等)我應該如何獲得格式正確的數據字符串提交使用$ .post調用? – rajeev