загрузка входных данных, не вызывающих событие щелчка

#jquery #input #click

#jquery #ввод #нажмите

Вопрос:

все журналы консоли и оповещения выполняются, но кнопка по-прежнему не нажата.

 init: function() {

    $('input[type=file]').change(function() {
      $(this).closest('.btn-upload').toggleClass('active');

      $('#button-submit').click(function() {
        console.log("event listening")
      });

      $('#button-submit').click();
    });

}


<div>  
<input type="file" id="button-upload">
<input type="submit" id="button-submit">
</div>
  

Комментарии:

1. Я думаю, что Дэн вас отсортировал, но сделайте себе одолжение и используйте более краткие идентификаторы 😉

2. ха-ха, его идентификаторы drupal 😉

3. он все еще не работает, какие-либо проблемы?

4. существует ли форма, которая переносит эти входные данные?

5. да, эти входные данные находятся в наборе полей, и этот набор полей находится в форме

Ответ №1:

Вы подключаете свой обработчик событий и нажимаете на ввод файла, а не на кнопку, поскольку вы отсутствуете -button в конце ваших селекторов.

Должно быть:

 init: function() {

$('input[type=file]').change(function() {
  $(this).closest('.btn-upload').toggleClass('active');

  $('#edit-submitted-student-membership-student-id-upload-upload-button').click(function(e) {
    e.stopPropagation();
    console.log("event listening")
  });

  $('#edit-submitted-student-membership-student-id-upload-upload-button').click();
    alert('asdfdf');
});

}


<div>  
    <input type="file" id="edit-submitted-student-membership-student-id-upload-upload">
    <input type="submit" id="edit-submitted-student-membership-student-id-upload-upload-button">
</div>
  

Комментарии:

1. он по-прежнему не нажимает на него: (

2. Я предполагаю, что он выводит «прослушивание событий» на консоль? Попробуйте удалить e.stopPropogation() строку, так как это остановит запуск других обработчиков и заблокирует отправку формы.

3. Что вы ожидаете от этого? Отправить форму? Если это так, мне интересно, было бы лучше сделать что-то вроде $('#YourFormID').submit() в обработчике изменений, а не пытаться нажать кнопку.

4. Кстати, теперь в вашем вопросе есть 2 элемента с одинаковым идентификатором кнопки.

5. Вы не включили свой AJAX-код в свой вопрос. Если это записывается в консоль, то кнопка нажата. Похоже, ваша проблема в коде, не включенном в ваш вопрос.