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

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

Похожие вопросы
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект
22 нояб. 2024, в 03:54
1500 руб./за проект