0

我有一个文本区域,用户可以在其中输入用逗号分隔的文本。我想把这个字段的内容变成一个数组,数组中的每个元素都来自 textarea 字段中的数据。例如,如果用户在 textarea 字段中输入“value_1, value_2, value_3”,那么我想将其转换为一个数组,其中元素 1 是“value_1”,元素 2 是“value_2”,元素_3 是“value 3”。我以为我已经弄清楚了,但由于某种原因,数组最终只包含一个元素(数组中的第一个元素,但不包含其他元素)。这是我的代码:

<script>
    var resultsArray = new Array();
    var content = $("textarea[name=my_content]").val();
    var results = content.split(',');
    var num = results.length;
    for(var i = 0; i < num; i++) {
        resultsArray.push(results[i]);
    };

    $.ajax({
        type: "POST",
        url: 'my/url',
        dataType: 'html',
        data: {results:resultsArray},
        success: function(){}
    });
    return false;
</script>

我知道我的服务器端脚本正在工作,因为如果我像这样对我的脚本进行硬编码,一切都会正常工作:

<script>
    var resultsArray = new Array("value_1", "value_2", "value_3");
    $.ajax({
        type: "POST",
        url: 'my/url',
        dataType: 'html',
        data: {results:resultsArray},
        success: function(){}
    });
    return false;
</script>
4

2 回答 2

0

事实证明,某些值中出现了换行符。一旦我去掉了换行符,一切都正常了。

于 2013-08-31T16:18:59.137 回答
0

just use this it really makes everything simple....

content.split(/\s*,\s*/); Updated This works perfectly.

于 2013-08-31T16:24:19.557 回答