Kак активировать Aякс при нажатие Enter в поле input

141
19 сентября 2018, 21:10

Надо отправлять Aяксом инфу из поля <input> на сервер (при этом, при нажатии на Enter, должна отправляться эта инфа) без использования <form>.

Answer 1

Примерно так

var element = document.querySelector("input"); 
element.addEventListener('keydown', function(e){ 
  var key = e.keyCode ? e.keyCode : e.which; 
  if (key == 13) { 
    var request = new XMLHttpRequest(); 
    var formData = new FormData(); 
    formData.append("input", this.value) 
    request.open("POST", "url"); 
    request.send(formData); 
  } 
});
<input>

Answer 2

В общем выглядеть это должно как-то так. url, headers, method , и все остальные параметры смотри в доккументациик методу fetch. некоторые из этих параметров у тебя будут другие. может не самое красивое решени..но.. что нашел, то прислал)))

function ajax(url,data,callback){ 
        var formData = new FormData(); 
        let heder = new Headers({ 'Access-Control-Allow-Origin': '*' }); 
        formData.append('action', JSON.stringify(data)); 
        fetch(url, { 
            method: 'post', 
            headers: heder, 
            credentials: "same-origin", 
            body: formData, 
        }).then(validateResponse).then(function(result) { 
            if(typeof callback === 'function') { 
                    return callback(result.result); 
            } 
        }); 
      function validateResponse(response) { 
        if(!response.ok) { 
            throw Error(response.statusText); 
        } 
        return response.json(); 
    } 
} 
 
let input =  document.getElementById('text'); 
input.addEventListener('keydown',(event)=>{ 
  if(event.keyCode===13){ 
    ajax('http://example.com',event.target.value,()=>{}); 
  } 
})
<input type="text" id="text"/>

Answer 3

Какой вопрос - такой ответ

Добавить к инпуту прослушивание события и используя фетч или xhr отправлять ©"ину из поля на сервер".

READ ALSO
Не работает emmet в index.php

Не работает emmet в index.php

Помогите настроить emmetОн работает в index

163
Safari без мака

Safari без мака

Как протестировать верстку на сафари, если нету MAC?

170
Последний слайд равен нулю

Последний слайд равен нулю

Запилил простой слайдер, вот код:

156
Как при событии на теге с data-id=&ldquo;1&rdquo; найти другой тег с data-id=&ldquo;1&rdquo;?

Как при событии на теге с data-id=“1” найти другой тег с data-id=“1”?

У меня есть два родительских блока в одном потоке, в этих блоках есть дочерние блоки с data-id=""Интересует как при событии hover в первом родительском...

175