Я не могу начать загрузку файлов с помощью jQuery Uploadify в Cake PHP - PullRequest
0 голосов
/ 08 сентября 2011

Я включил файлы js и css, во внешнем интерфейсе все загружается правильно, но когда я нажимаю

<a href="javascript:$('#file_upload').uploadifyUpload();"> Upload </a>

ничего не происходит, не получая никакой ошибки в firebug.

В принципе, я не могу загружать файлы. Даже если для параметра загрузки «auto» установлено значение «true».

Как это починить? Что может быть не так?

Мой код:

<script type="text/javascript" src="/js/jquery.min.js"></script>
    <script type="text/javascript" src="/js/jquery.imgareaselect.min.js"></script>

    <script type="text/javascript" src="/js/jquery.fancybox.pack.js"></script>
    <script type="text/javascript" src="/js/uploadify/swfobject.js"></script>
    <script type="text/javascript" src="/js/uploadify/jquery.uploadify.min.js"></script>
    <script type="text/javascript">
//<![CDATA[
$(document).ready(function(){
    $("a.group").fancybox({
        'transitionIn'  :   'elastic',
        'transitionOut' :   'elastic',
        'speedIn'       :   600,
        'speedOut'      :   200,
        'width': 500,
        'height' : 400,
        'overlayShow'   :   false
    });
});

//]]>
</script>
    <script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
    $("#file_upload").uploadify({
        "uploader": "/js/uploadify/uploadify.swf",
        "script": "/uploadify/upload",
        "cancelImg": "/img/uploadify/cancel.png",
        "scriptData": {'type': 1},
        'removeCompleted' : true,
        'folder': '/uploads',
        "auto": true,
        "multi": false,
        "onComplete": function(event, ID, fileObj, response, data) {

        },
        'onError': function (event, ID, fileObj, errorObj) {
            alert(errorObj.type + ' Error: ' + errorObj.info);
        }
    }); 
});
</script>


<input type="file" id="file_upload" name="file_upload" />

<a href="javascript:$('#file_upload').uploadifyUpload();">Upload</a>

Спасибо

Ответы [ 4 ]

0 голосов
/ 04 апреля 2012

может быть, вы можете попробовать это:

href="javascript:$('#custom_file_upload').uploadifyUpload($('.uploadifyQueueItem').last().attr('id').replace('custom_file_upload',''))

из официальной демонстрации uploadifyupload

0 голосов
/ 08 сентября 2011

Я бы предположил - поскольку вы используете jQuery, код должен быть следующим:

<script type="text/javascript">
    $().ready(function() {
        $('#upload').click(function() {
            $('#file_upload').uploadifyUpload();
        });
    });
</script>

<a href="" id="upload">Upload</a>

Это будет в большей степени соответствовать тому, как обычно работает jQuery.

0 голосов
/ 09 сентября 2011

Возможно ли вам использовать полный тег формы?Чтобы получить составные данные / данные формы, сгенерированные автоматически, вы можете сделать:

<?php $this->Form->create('Document', array('type' => 'file')); ?>

Я не знаю, требует ли uploadify тег формы, но кажется логичным, что если демо здесь показывает полный тег формы, то вашу тестового скрипта также должен быть один -

http://uploadify.wdwebdesign.com.br/ Это демо 3.0, которое может быть новее вашей версии, но код в обоих демо-версиях показывает полную форму.Опять же, ваш код, как показано, не.

0 голосов
/ 08 сентября 2011

Разве это не должно быть событием onclick?

<a href="#" onclick="javascript:$('#file_upload').uploadifyUpload();"> Upload </a>

Если для auto установлено значение true, файлы должны загружаться автоматически, как только они выбраны, поэтому вам даже не нужна ссылка / кнопка загрузки. Просто поместите это в функцию готовности документа.

$("#file_upload").uploadify({
    'uploader'  : '/js/uploadify/uploadify.swf',
    'script'    : '/js/uploadify/uploadify.php',
    'cancelImg' : '/js/uploadify/cancel.png',
    'folder'    : '/some_folder',
    'fileExt'   : '*.jpg;*.jpeg;*.gif;*.png',
    'auto'      : true});
...