Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.01.2014, 17:54
Аспирант
Отправить личное сообщение для piraids Посмотреть профиль Найти все сообщения от piraids
 
Регистрация: 20.08.2013
Сообщений: 88

передать файл в аякс
Здраствуйте, помогите решить проблему - есть форма:
<form enctype="multipart/form-data" method="post" id="formular" action="admin.php">
  <div>
    <div style="width: 100px; float: left; padding-top: 2px;">Название *</div>
    <input type="text" name="namema" class="textpole validate[\'required\']"" value="'.$namemasn[$id].'">
  </div>
  <div style="margin: 5px 0px 5px 0px; ">
    <div style="width: 100px; float: left; padding-top: 2px;">Адрес *</div>
    <input type="text" name="urlma" class="textpole validate[\'required\']"" value="'.$urlmasn[$id].'.html" readonly style="background: #eee;">
  </div>
  <div style="margin: 5px 0px 15px 0px; ">
    <div style="width: 100px; float: left; padding-top: 2px;">Дата *</div>
    <input type="text" name="viewma" class="textpole validate[\'required\']"" value="'.$viewmasn[$id].'">
  </div>
  <div style="margin: 5px 0px 15px 0px; ">
    <div style="width: 100px; float: left; padding-top: 2px;">Изображение</div>
    <span>'.$imgmasn[$i].'</span>
    <input id="file" type="file" name="imgma" class="filepole"><input type="button" value="Загрузить" onClick=""/>
  </div>

Краткая версия
<textarea id="elm_1" class="elm_1" name="content-s" style="width: 100%; height: 200px; border:1px solid #b7b7b7;">'.Read ($urlmasn[$id]."-s").'</textarea><br>

Полная версия
<textarea id="elm_2" class="elm_2" name="content"  style="width: 100%; height: 280px; border:1px solid #b7b7b7;">'.Read ($urlmasn[$id]).'</textarea>

<div style="margin: 15px 0px 5px 0px; "><div style="width: 200px; float: left; padding-top: 2px;">Заголовок <span style="color: #b7b7b7">&lt;title&gt;</span></div><input type="text" name="title" class="textpole" value="'.$titlesn[$id].'"></div>
<div><div style="width: 200px; float: left; padding-top: 2px;">Описание <span style="color: #b7b7b7">&lt;description&gt;</span></div><input type="text" name="description" class="textpole" value="'.$descriptionsn[$id].'"></div>
<div style="margin: 5px 0px 7px 0px; "><div style="width: 200px; float: left; padding-top: 2px;">Ключевые слова <span style="color: #b7b7b7">&lt;keywords&gt;</span></div><input type="text" name="keywords" class="textpole" value="'.$keywordssn[$id].'"></div>

<input type="hidden" name="d" value="redactn01">
<input type="hidden" name="id" value="'.$id.'">
<div id="answer"></div>
<div style="margin: 9px 0px 5px; padding-bottom: 12px;"><input type="submit" value="Готово" class="bot"><div id="load" style="margin: 0px 0px 0px 20px;"></div>
</form>


эта форма чудо AK-CMS + в ней я добавил поле с типом файл
так вот файл не передается..

форму обрабатывает файлик аякса с таким содержанием:
var fixTiny = function(properties) {
    var properties = properties || new Object();
    var instance = properties.instance || 'mce_editor_0';
    tinyMCE.execInstanceCommand(instance,'mceCleanup');
    tinyMCE.triggerSave(true,true);
    return true;
}

window.addEvent('domready', function() {

    var strr = $$('.str');

    if ($('formular')!=null) {

        $('formular').addEvent('submit', function(e) {
           
           err = 0;
           var inputs = $$('input');
           var textareas = $$('textarea');
            
            $each(inputs, function(input){
                if (input.hasClass('fc-field-error')) {
                    err = 1;
                };
            });
            $each(textareas, function(textarea){
                if (textarea.hasClass('fc-field-error')) {
                    err = 1;
                };
            });
            
            if (err == 0) {
            
                e.stop();
    
                fixTiny({instance:'excerpt'});
                fixTiny({instance:'body'});
    
                var box = $('load');
                box.setStyles({
                    display: 'block'
                });
                box.set('html','Cохранение');
    
                this.set('send', {onComplete: function(response) {
                    box.set('html',response);
                    timer = setTimeout("$('load').fade(0)",1000);
                }});
    
                this.send();
                timer1 = setTimeout("$('load').setStyles({display: 'none'})",2000);
                $('load').fade(1);
                
            };
   
        });
    };
        var draglis = $$('ul#sort li');
    $each(draglis, function(dragli) {
        dragli.setStyle('height', dragli.getStyle('height'));
    });
});



как мне сделать чтобы файлы передавались и загружались на сервер?
Ответить с цитированием
  #2 (permalink)  
Старый 25.01.2014, 18:54
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Какая версия Mootools используется? Отправка файлов возможна только через XMLHttpRequest 2 (а значит в старых браузерах работать не будет). Видимо в используемой версии Mootools это не поддерживается.
Также если нужна поддержка древних браузеров - нужно юзать скрытый фрейм или отказаться от аякса.

Сообщение от piraids
файлик аякса
Бррр...
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 25.01.2014, 19:49
Аспирант
Отправить личное сообщение для piraids Посмотреть профиль Найти все сообщения от piraids
 
Регистрация: 20.08.2013
Сообщений: 88

danik.js,
прошу прощения за такие слова) как можно посмотреть версию? я просто немного запутался в этой CMS
Ответить с цитированием
  #4 (permalink)  
Старый 25.01.2014, 21:24
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Походу не все так просто. Возможно это поможет: http://mlo.io/blog/2011/11/06/ajax-f...-mootools.html
А версия там старенькая - 1.2.4
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 26.01.2014, 00:15
Аспирант
Отправить личное сообщение для piraids Посмотреть профиль Найти все сообщения от piraids
 
Регистрация: 20.08.2013
Сообщений: 88

danik.js,
извините за тупые вопросы, т.е. я создаю файл js с классом который вы предоставили, размещаю его рядом с ajax.js в котором прописаны выше указанные функции и использую в ajax.js созданный класс upload ?
Ответить с цитированием
  #6 (permalink)  
Старый 26.01.2014, 00:18
Аспирант
Отправить личное сообщение для piraids Посмотреть профиль Найти все сообщения от piraids
 
Регистрация: 20.08.2013
Сообщений: 88

блин посмотрел пример, понял как воспользоватся
Ответить с цитированием
  #7 (permalink)  
Старый 26.01.2014, 01:01
Аспирант
Отправить личное сообщение для piraids Посмотреть профиль Найти все сообщения от piraids
 
Регистрация: 20.08.2013
Сообщений: 88

написал по примеру код, только указал вместо 2х картинок 1ну, выбивает ошибку
Uncaught TypeError: Object function Object() { [native code] } has no method 'each' file.upload.js:37
File.Upload.Class.data file.upload.js:37
extend._owner mootools.core.js:97
File.Upload.Class.initialize file.upload.js:30
extend._owner mootools.core.js:97
(anonymous function) mootools.core.js:92
(anonymous function) admin.php?d=redactn&id=1:219
d
Ответить с цитированием
  #8 (permalink)  
Старый 26.01.2014, 07:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

У тебя старый mootools потому что. Замени Object.each на $each
И там ниже вроде inputs.each(..., замени на $each(inputs, ...
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать файл через API FILE в виде dataurL и принять на сервере. Как? platedz AJAX и COMET 22 04.06.2013 13:29
Передача методом POST в файл maximus Events/DOM/Window 1 07.09.2012 09:11
Можно ли передать файл из формы в форму? vuler Общие вопросы Javascript 3 01.03.2012 12:42
Как в ajax запросе передать файл методом POST mcpro jQuery 1 16.12.2009 11:41
Как передать файл в форму Integral Общие вопросы Javascript 2 29.09.2009 21:49