0

ループの問題があります。「i」の値が 0 から増加することはありません。

これが私のコードです:

var users = ["a", "b", "c"];

if (users.length > 0) {
    $(".ajax").live("submit", function(){
        for (var i=0; i < users.length; i++) {
            console.log(i);

            var forma = $(this);

            $("input[name=_session]", forma).val(users[i]);

            ajaxy(forma, function(data){
                console.log(data.status);
            });

            return false;
        }
    });
} else...
4

3 に答える 3

10

ループの最初の繰り返しの後に false を返します。return false;ループブロックの外に行を移動する必要があると思います。

コードを適切にインデントすると、次のような明らかなエラーが発生します。

if (users.length > 0) {
    $(".ajax").live("submit", function () {
        for (var i = 0; i < users.length; i++) {
            console.log(i);
            var forma = $(this);
            $("input[name=_session]", forma).val(users[i]);
            ajaxy(forma, function (data) {
                console.log(data.status);
            });
            return false; // This should not be here
        }
    });
}
于 2012-08-02T17:57:32.150 に答える
3

for ループの return ステートメントが原因で、次の反復に進む前にループが終了します。

于 2012-08-02T17:58:33.147 に答える
2

ループの最初の繰り返しで戻るので、考えてみます。

于 2012-08-02T17:59:02.773 に答える