Задать вопрос
@Zashage

Как сделать вставку текста в инпут?

суть в том, что у меня аякс запрос работает на событии oninput который срабатывать должен вроде на любое изменение в поле, а по факту работает только от события клавиатуры(любое изменение с помощью клавиатуры запускает аякс запрос), а собственно необходимо, чтобы он запускался, когда например я вставляю текст програмно(например нажал кнопу, текст вставился в инпут и аякс сработал также как обычно).
МОЙ БЫДЛОКОД:
$('#text').on('input', function(e){
            e.preventDefault();
            let t = $(this).val();
            clearTimeout(timeout);
 
            if(xhr)
              xhr.abort();
 
            timeout = setTimeout(function(){
              xhr = $.ajax({
                url: 'php/result.php',
                type: 'post',
                data: 'text=' + t,
                dataType: 'html',
                success: function(res) {
 
                  $('#result').html(res).fadeIn(300);
                }
              })
            }, 800);
 
 
                $('#result').fadeOut(200);
})
  • Вопрос задан
  • 68 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Stepik
    JavaScript с нуля - основы языка и практика для начинающих
    2 недели
    Далее
  • Merion Academy
    Фронтенд-разработчик с нуля
    4 месяца
    Далее
  • Skypro
    JavaScript-разработчик с нуля
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
Решения вопроса 2
Попробуйте
$('#text').on('input change', function(e) {
//
})


Пару подобных вопросов:
https://stackoverflow.com/questions/4200358/jquery...
https://stackoverflow.com/questions/16013024/detec...
Ответ написан
Комментировать
v3shin
@v3shin
Веб-шаман
После программного изменения инпута триггерите событие input. К примеру:

$('#button').on('click', function() {
    $('#text').val('new value').trigger('input');
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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