Как получить объект формы, на элемент которого нажимают - PullRequest
0 голосов
/ 09 октября 2011

Я загружаю файл с помощью плагина jQuery uploadify. Каждый раз, когда я загружаю файл, в форме создается скрытое поле с путем к загруженному файлу на сервере. Когда я отправляю форму, я сохраняю этот путь к файлу в базе данных, получая его из скрытого поля.Это работает для меня.Одна проблема заключается в том, что я жестко кодирую объект формы в onComplete функции загрузки.

Вот мой код:

jQuery:

     $('.FileUpload').uploadify({
        'uploader'  : '/uploadify/uploadify.swf',
        'script'    : '/uploadify/uploadify.php',
        'cancelImg' : '/uploadify/cancel.png',
        'folder'    : '/uploads',
        'auto'      : true,
        'queueID'   : 'fileQueue',
        'removeCompleted':false,
        'onComplete'  : function(event, ID, fileObj, response, data) {
                            // It is hard coded here. It may create probelems 
                            // if there are multiple file upload buttons.
                            // How can I do this with '$(this)' keyword or something
                            $('.SingleFileUpload').parents('form').append( '<input type="hidden" name="uploaded_file" value="' + response + '">' );
                        }
      }); 

Как получить только форму, на которую нажата кнопка просмотра файла в onComplete()функция.Я думаю, вы поняли мою точку зрения?

Спасибо

Ответы [ 2 ]

2 голосов
/ 09 октября 2011

Я думаю, что это должно работать, если вы замените $('.SingleFileUpload') на $(event.target)

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

Я решил свою проблему, используя следующее:

$(event.target).closest('form').append( '<input type="hidden" name="uploaded_file" value="' + response + '">' );
...