FormData - Uncaught TypeError: Не удалось создать «FormData»: параметр 1 не относится к типу «HTMLFormElement - PullRequest
0 голосов
/ 20 апреля 2020

Может кто-нибудь сказать мне, почему я всегда получаю следующую ошибку?

Uncaught TypeError: Не удалось создать «FormData»: параметр 1 не имеет типа «HTMLFormElement».

Мой HTML:

<form role="form" id="uploadSortimentReport" enctype="multipart/form-data">
                 <div class="card-body">
                    <div class="form-group">
                       <label>XML file</label>
                          <div class="input-group">
                             <div class="custom-file">
                                <input type="file" class="custom-file-input" name="report">
                                <label class="custom-file-label">choose file</label>
                             </div>
                          </div>
                    </div>
                    <div class="form-group">
                       <label>Country</label>
                       <select name="country" class="form-control">
                             <option value="">choose</option>
                             <option value="sk">Slovak</option>
                             <option value="cz">Czech</option>
                       </select>
                    </div>
                 </div>
                 <div class="card-footer">
                    <button type="submit" name="uploadReport" class="btn btn-info" id="uploadButton">Upload</button>
                 </div>
              </form>

Мой JS (я знаю, что ajax не завершен, но я думаю, что не следует выдавать ошибку)

$.validator.setDefaults({
     submitHandler: function () {
        $('#uploadButton').prop('disabled', true).html('<i class="fa fa-spinner fa-spin"></i> Processing');
        var fd = new FormData($('#uploadSortimentReport'));
     }
  });
  $('#uploadSortimentReport').validate({
     rules: {
        report: {
           required: true,
           extension: "xml"
        },
        country: {
           required: true
        }
     },
     messages: {
        report: {
           required: "Please choose file.",
           extension: "Only XML file is accepted."
        },
        country: {
           required: "Please choose country."
        }
     },
     errorElement: 'span',
     errorPlacement: function (error, element) {
        error.addClass('invalid-feedback');
        element.closest('.form-group').append(error);
     },
     highlight: function (element, errorClass, validClass) {
        $(element).addClass('is-invalid');
     },
     unhighlight: function (element, errorClass, validClass) {
        $(element).removeClass('is-invalid');
     }
  });

Я пытался сделать все. Ничего не помогло.

Спасибо.

...