@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);
})
  • Вопрос задан
  • 58 просмотров
Решения вопроса 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');
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 02:11
5000 руб./за проект
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект