понедельник, 27 мая 2013 г.

yii ajax загрузка файлов

Сначала надо подключить jquery.form.js

Затем в jquery.yiiactiveform.js

Меняем в функции $.fn.yiiactiveform.validate с 345 строки по 369

//$.ajax({
  $form.ajaxSubmit({
url : settings.validationUrl,
type : $form.attr('method'),
// data : $form.serialize() + extData,
        data : {ajax:$form.attr('id')},
dataType : 'json',
success : function (data) {
if (data !== null && typeof data === 'object') {
$.each(settings.attributes, function () {
if (!this.enableAjaxValidation) {
delete data[this.id];
}
});
successCallback($.extend({}, messages, data));
} else {
successCallback(messages);
}
},
error : function () {
if (errorCallback !== undefined) {
errorCallback();
}
}
});

И все работает. Теперь можно загружать файлы через аякс.

Решение нашел на форуме http://yiiframework.ru/forum/viewtopic.php?f=3&t=2521

2 комментария:

  1. А какие еще настройки надо делать? я в файбавил Yii::app()->clientScript->scriptMap['jquery.yiiactiveform.js'] = true; и все равно, при валидации не валидирует файл.

    ОтветитьУдалить
    Ответы
    1. Сори, это было сто лет назад, забыл уже в чем там дело было. Давно уже на yii1 не пишу. Посмотрите форум по ссылке, может что ни будь найдете.

      Удалить