@maestro07

Отправка form через ajax?

отправляю form через ajax. На первый раз все нормально. хочу отправить еще раз повторно ничего не работает. в чем может быть ошибка? в консоле и нетворке ничего нет.
<form enctype="multipart/form-data" method='post' id="XLSX_form">
    {% csrf_token %} 
    <span class="btn btn-primary btn-block btn-file" disabled="disabled">
        Загрузить Excel<input id="id_file" name="file" type="file" disabled="disabled">
    </span>
</form>


function onChangeXLS(e) {
    e.preventDefault()
    var form = $(this);
    var data = new FormData();

    form.find(':input[name]').not('[type="file"]').each(function() {
        var field = $(this);
        data.append(field.attr('name'), field.val());
    });

    var filesField = form.find('input[type="file"]');
    var fileName = filesField.attr('name');
    var file = filesField.prop('files')[0];
    data.append(fileName, file);

    console.log("data", data);

    $.ajax({
        url: uploadXLSX,
        type: 'POST',
        data: data,
        contentType: false,
        cache: false,
        processData: false,
        success: function(data) {
            console.log('data', data);
            var arrayOfJSON = data;
            invoiceFileExt = 'json';
            for (var i = 0; i < arrayOfJSON.length; i++)
                invoiceList[i] = JSON.stringify(arrayOfJSON[i]);

            if(invoiceList.length > 0 && !_.isEmpty(invoiceList[0])){
                invoiceCount = 0;
                sendOneByOne();
                blockScreen("");
                controlBtns.show();
            } else {
                showAlert(Globals.textRu.empty_file);
            }
        }
    });
}
document.getElementById('XLSX_form').addEventListener('change', onChangeXLS);
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
@vaajnur
битриксоид
onchange отработал свое 1 раз при выборе картинки. вешай колбек на клик
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы