0

我有使用 jquery.filedrop.js 的拖放 jquery 脚本,并且在同一个资产文件夹中有一个 script.js。Script.js 似乎是上传完成后显示结果的文件。上传完成后如何让它重定向到另一个页面?下面是script.js

$(function(){
var myname = document.getElementById("myname").value;
var myid = document.getElementById("myid").value;
var mycat = document.getElementById("mycat").value;
var dropbox = $('#dropbox'),
    message = $('.message', dropbox);

dropbox.filedrop({
    // The name of the $_FILES entry:

    paramname:'pic',
    maxfiles: 100,
    maxfilesize: 2,
    //url: "post_file.php?id=33",
    url: "post_file.php?myid=" + myid + "&mycat=" + mycat + "&myname=" + myname ,

    uploadFinished:function(i,file,response){
        $.data(file).addClass('done');
        // response is the JSON object that post_file.php returns
    },

    error: function(err, file) {
        switch(err) {
            case 'BrowserNotSupported':
                showMessage('Your browser does not support HTML5 file uploads!');
                break;
            case 'TooManyFiles':
                alert('Too many files! Please select 5 at most! (configurable)');
                break;
            case 'FileTooLarge':
                alert(file.name+' is too large! Please upload files up to 2mb (configurable).');
                break;
            default:
                break;
        }
    },

    // Called before each upload is started
    //beforeEach: function(file){
        //if(!file.type.match(/^image\//)){
            //alert('Only images are allowed!');

            // Returning false will cause the
            // file to be rejected
            //return false;
        //}
    //},

    uploadStarted:function(i, file, len){
        createImage(file);
    },

    progressUpdated: function(i, file, progress) {
        $.data(file).find('.progress').width(progress);
    }

});

var template = '<div class="preview">'+
                    '<span class="imageHolder">'+
                        '<img />'+
                        '<span class="uploaded"></span>'+
                    '</span>'+
                    '<div class="progressHolder">'+
                        '<div class="progress"></div>'+
                    '</div>'+
                '</div>';

function createImage(file){

    var preview = $(template), 
        image = $('img', preview);

    var reader = new FileReader();

    image.width = 100;
    image.height = 100;

    reader.onload = function(e){

         //e.target.result holds the DataURL which
         //can be used as a source of the image:

        image.attr('src',e.target.result);
    };

    //reader.onload = window.parent.location.href="page2.htm";

    // Reading the file as a DataURL. When finished,
    // this will trigger the onload function above:
    reader.readAsDataURL(file);

    message.hide();
    preview.appendTo(dropbox);

    // Associating a preview container
    // with the file, using jQuery's $.data():

    $.data(file,preview);
}

function showMessage(msg){
    message.html("test")
}

问题是上传完成后如何使用变量重定向。我试图在 var 模板区域中放置一些重定向代码...不

4

1 回答 1

0

内部uploadFinished

window.location.href = <some vars that create a string>;

那是你要找的吗?

于 2012-09-15T18:03:46.923 回答