Отправить идентификатор элемента из div в javascript файл - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь вызвать ввод файла, используя javascript. Я использую Django formset, и я получил идентификатор полей ввода текущих моих функций Javascript выглядит так:

$(document).ready(function(){
    $("#show-image-upload-inputs").click(function(){
      $("#image-upload-div").toggle();
    });

    function open_input (id,input_id) {
      $(this.id).on("click", function () {
        $(this.input_id).trigger("click");
      });
    }
  });

И в моем HTML я передаю их функции, используя onclick:

<div id="file-0-selector" class="add-image" onclick="open_input(this.id,document.getElementById('id_form-0-image'))"><i class="mt-2 fas fa-plus fa-5x"></i></div> 

Однако, когда я нажимаю на него, я не вижу открытия окна загрузки, мне было интересно, как я могу этого добиться. Я получил поля ввода изображения из моего набора форм, и идентификатор кажется правильным.

Заранее спасибо.

1 Ответ

1 голос
/ 02 апреля 2020

Ваша open_input функция просто привязывает другой обработчик кликов, вы должны удалить это, и чтобы выбрать элемент с идентификатором в jQuery, вам нужно добавить префикс id к #, и вам не нужно обращаться к переменным с помощью this.

function open_input(input_id) {
  $("#" + input_id).trigger("click");
}

Теперь ваш onclick становится немного проще, так как вам не нужно выбирать элемент, который вам нужен только для передачи его id

onclick="open_input('id_form-0-image')"
...