1

ユーザーがファイルをキューに追加するときは、検証する必要があるため、コールバックに関数を記述しました。

$(document).ready( function() {
$('#fileupload').bind('fileuploadadd', function (e, data) {
    $.each(data.files, function (index, file) {
        check = ValidaDoc(file.name);
        if (check!="OK"){
            var erro="";
            if (check=="Alerta1"){
                alert("Alerta1");
            }
            else {
                errotemp="";
                if(check=="Erro1"){erro=erro + file.name + " com extensão não esperada.";}
                else if(check=="Erro2"){erro=erro + file.name + " não cadastrado ou com nome fora do padrão.";}
                $($('#fileupload .files .cancel button')[index]).click();
        }
    }
});
});

コールバックが機能し、ValidaDoc 関数が機能し、ファイルがキャンセルされますが、正しいファイルではありません。インデックスの使用は正しくないと思います。誰にもアイデアがありますか?

4

1 に答える 1

2

問題は、インデックスの私の誤解でした。click を呼び出す行を次の行に置き換えると、すべて正常に動作します。

$($('#fileupload .files .cancel button')[data.context[index].rowIndex]).click();

イベントも変えなきゃ。fileuploadadd が呼び出されたとき、ファイルはまだテーブルにありません。そのため、fileuploaded に変更されました。

$('#fileupload').bind('fileuploadadded', function (e, data) {
于 2012-04-23T13:26:12.287 に答える