0

基本的に、ヘッダー、コンテンツ、フッターのメッセージを追加する必要があります。

コンテンツはループから取得され、何らかの理由で最後に追加されます。

    function sendMail(){

    $("#textareaContainer").append('<textarea id="someTextarea" rows=12 class="span7">Some header text that is needed</textarea>');

    for (var i=0;i<idToUse.length;i++){
        $.post("actions.php", "do=contentFromPhp"+"&id="+idToUse[i],0,"json").done(function(result) {
        for (var i=0;i<result.length;i++){
        $("#someTextarea").append("\r"+result[i].theContent);
        }
    idToUse = [];
    });

    }
    $("#someTextarea").append("\rSome footer text that is needed!");

}

現在の出力は次のとおりです。

Some header text that is needed
Some footer text that is needed!
Content From loop 1
Content From loop 2

私はそれが必要です:

Some header text that is needed
Content From loop 1
Content From loop 2
Some footer text that is needed!
4

2 に答える 2

0

これは、データを埋めるために ajax を使用しているためです。注: ajax リクエストは異なる順序で返される可能性があるため、これでも正確な結果が得られない場合があります。

function sendMail(){

    $("#textareaContainer").append('<textarea id="someTextarea" rows=12 class="span7">Some header text that is needed</textarea>');

    var xhrs = [], xhr;
    for (var i=0;i<idToUse.length;i++){
        xhr = $.post("actions.php", "do=contentFromPhp"+"&id="+idToUse[i],0,"json").done(function(result) {
            for (var i=0;i<result.length;i++){
                $("#someTextarea").append("\r"+result[i].theContent);
            }
            idToUse = [];
        });
        xhrs.push(xhr)
    }

    $.when.apply($, xhrs).then(function(){
        $("#someTextarea").append("\rSome footer text that is needed!");
    })

}
于 2013-08-22T09:39:19.853 に答える
0

AJAX コールバック関数にフッターを追加する必要があります。

for (var i=0;i<idToUse.length;i++){
    $.post("actions.php", {
        do: "contentFromPhp",
        id: idToUse[i]
    }, 0, "json").done(function(result) {
        for (var i=0;i<result.length;i++){
            $("#someTextarea").append("\r"+result[i].theContent);
        }
        $("#someTextarea").append("\rSome footer text that is needed!");
        idToUse = [];
    });
}

また、jQuery が適切に URL エンコードできるように、データを文字列からオブジェクトに変更しました。

于 2013-08-22T09:48:06.553 に答える