0

ユーザーがコンマで区切られたテキストを入力できるテキストエリアがあります。このフィールドの内容を配列に変換したいと思います。配列の各要素は textarea フィールドのデータから取得されます。たとえば、ユーザーが「value_1、value_2、value_3」を textarea フィールドに入力した場合、これを要素 1 が「value_1」、要素 2 が「value_2」、element_3 が「value 3」の配列に変換したいと考えています。私はこれを理解したと思っていましたが、何らかの理由で、配列には 1 つの要素しか含まれなくなります (配列の最初の要素であり、他の要素は含まれません)。これが私のコードです。

<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

これを使用するだけで、すべてが本当に簡単になります....

content.split(/\s*,\s*/); 更新これは完全に機能します。

于 2013-08-31T16:24:19.557 に答える
0

一部の値に改行文字が含まれていたことが判明しました。改行文字を取り除くと、すべてが機能しました。

于 2013-08-31T16:18:59.137 に答える