Функция Jquery для сохранения изображения из fileuploader по нажатию кнопки (в динамически создаваемом div)

Я создал <div>(скажем, новый div) с помощью Ajax call, а затем добавляю его к существующему <div>(скажем, старому div).

В новом div у меня есть input [type=file]и кнопка. При нажатии на кнопку Я хочу сохранить изображение. Я использую функцию jQuery здесь.

Моя функция заключается в следующем:

function SaveData(evt) {
    var clientid = evt.id;
    $('#' + clientid + '').click(function() {
        var myval = $(this).closest('div.findvalues').find('input.filedata').val();
        alert(myval);
    });
}

Но я получаю две ошибки:

  1. onclick работает со 2-го клика (нет ответа в первый раз).
  2. Я получаю эту ошибку TypeError: evt.closest(...).closest(...) is null.

HTML (это html из браузера, его генерируется после моего Ajax вызова ):

<div class="col-md-15 col-sm-3 findvalues">
  <input type="hidden" value="../Documents/Raman" id="hdnRaman" name="documentNAME">
  <input type="hidden" value="74" id="hdn74" name="documentID">
  <input type="file" class="filedata" id="fuRaman" name="file[]">
  <input type="button" onclick="SaveData(this)" class="boldfontcss w3-btn uploaddata" value="Upload" text="Upload" id="btnRaman">
</div>

1 ответ

  1. Не могли бы вы попробовать что-то подобное?

    $('.uploaddata').click(function() {
        var myval = $(this).parent().find('.filedata').val();
        alert(myval);
    });
    

    С помощью кнопки я ищу Родительский файл, который является основной div-оболочкой, а затем нахожу файл с классом filedata.