На момент инициализации скрипта, переменная пустая. Как заполнить?

Использую библиотеку JQuery File Upload. Хочу с пост запросом отправить свои переменные. Но на момент инициализации скрипта, поля Email и Commit пустые. Как поступить?
Сам скрипт
<script type="text/javascript">
        $(function(){
            var files = $('#files');
            var email = $('#email').val();   // Хочу что бы переменная попала в formData
            var commit = $('#commit').val();   // Хочу что бы переменная попала в formData
            $('#uploadFile').fileupload({
                url: '/upload',
                dropZone: '#dropZone',
                dataType: 'json',
                autoUpload: false,
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                },
                formData:[{
                    name: 'email',
                    value: email
                },{
                    name: 'commit',
                    value: commit
                }],
                progressall: function (e, data) {
                    var progress = parseInt(data.loaded / data.total * 100, 10);
                    $('.progress-bar').css({width: progress + '%'});
                },
                add: function(e, data){
                    var fileSize = data.originalFiles[0]['size'];
                    if (fileSize > 157286400){
                        $('.alert').removeClass('alert-success').addClass('alert-danger').show().text('Превышен размер 150Мб');
                        return false;
                    }
                    $('#upload').click(function(){
                        var email = $('#email').val();
                        var commit = $('#description').val();
                        var pattern = /^([a-z0-9_\.-])+@[a-z0-9-]+\.([a-z]{2,4}\.)?[a-z]{2,4}$/i;
                        if(!pattern.test(email)){
                            $('.alert').removeClass('alert-success').addClass('alert-danger').show().text('Заполните почту');
                            return false;
                        }
                        if (email === '' || commit === ''){
                            $('.alert').removeClass('alert-success').addClass('alert-danger').show().text('Заполните почту и описание файла');
                            return false;
                        }
                        data.submit();
                    });
                },
                done: function(e, data){
                    if (data.result['status'] === 0){
                        $('.alert').removeClass('alert-success').addClass('alert-danger').show().text(data.result['msg']);
                        return false;
                    }
                    $('.alert').removeClass('alert-danger').addClass('alert-success').show().text('В скором времени Вам на почту будет отправлена ссылка на файл');
                }
            });
        }); 
    </script>
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
@DronTat Автор вопроса
Все, разобрался:
add: function(e, data){
        var fileSize = data.originalFiles[0]['size'];
        if (fileSize > 157286400){
                $('.alert').removeClass('alert-success').addClass('alert-danger').show().text('Превышен размер 150Мб');
                return false;
         }              
         $('#upload').click(function(){           
                  var email = $('#email').val();
                  var commit = $('#description').val();
                  var pattern = /^([a-z0-9_\.-])+@[a-z0-9-]+\.([a-z]{2,4}\.)?[a-z]{2,4}$/i;
                  if(!pattern.test(email)){
                         $('.alert').removeClass('alert-success').addClass('alert-danger').show().text('Заполните почту');
                         return false;
                  }      
                  if (email === '' || commit === ''){
                         $('.alert').removeClass('alert-success').addClass('alert-danger').show().text('Заполните почту и описание файла');
                         return false;
                  }
                  data.submit();
         });
},
submit: function (e, data) {
        var email = $('#email').val();
        var commit = $('#description').val();
        data.formData = {
                email: email,
                commit: commit
        };
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@rosrost
$('#uploadFile').click(function () {
var files = $('#files');
var email = $('#email').val();
});
либо же
$('#files').keyup(function () {
var files = $('#files');
и со вторым так же
Ответ написан
Ваш ответ на вопрос

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

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