Показать сообщение отдельно
  #3 (permalink)  
Старый 07.09.2015, 18:29
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,598

Примерно так, однако фалы читать могут только современные браузеры
var xmlhttp = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open('POST', 'https://mandrillapp.com/api/1.0/messages/send.json');
xmlhttp.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4) {
        if(xmlhttp.status == 200) alert('Спасибо за заявку, в скором времени вам перезвоним!')
        else if(xmlhttp.status == 500) alert('Check apikey')
        else alert('Request error');
    }
}

 
window.addEventListener('DOMContentLoaded', function(){    
    var form = document.querySelector('#sendForm');   
    var attachments = [];       
    var submit = form.querySelector('input[type="submit"]');
    var files = form.querySelector('#files');
    
    files.addEventListener('change', function() {
        var files = this.files, i = files.length;  
        if(!i) return attachments = [];   
        submit.disbled = true; //не даём отправлять форму пока не подгрузит аттачи
        
        var reader  = new FileReader();
        var newAttachments = [];
        reader.onload = function () {
            var index = reader.result.indexOf(';base64,');
            newAttachments.push({       
                type: reader.result.slice(5, index),
                name: files[i].name,
                content: reader.result.slice(index + 8)
            });
            if(i--) reader.readAsDataURL(files[i]); 
            else {
                submit.disbled = false;
                attachments = newAttachments;
            };
        }
        reader.readAsDataURL(files[--i]);
    }, false);
    

    form.addEventListener('submit', function (e) {
        e.preventDefault();
        sendMail(this.elements.sub.value, this.elements.text.value, attachments);
    }, false);
}, false);
 

function sendMail(sub, text, attachments){
    xmlhttp.send(JSON.stringify({'key': 'puturApikey',
   'message': {
       'from_email': 'test@mail.ru',
       'to': [{'email': 'totest@mail.ru', 'type': 'to'}],
       'autotext': 'true',
       'subject': sub,
       'html': text,
       'attachments': attachments
	}}));
}
__________________
29375, 35
Ответить с цитированием