|
|
|
| Всем привет!
На странице есть толе textarea и ajax запрос который срабатывает на клавишу ентер:
document.onkeyup = function (e) {
e = e || window.event;
if (e.keyCode === 13) {
$.post( 'ajax.php', {'pole': $('#pole').val()}, function(data){
$('#vivod').html(data)
})
}
return false;
}
| так вот, когда я ввожу текст в поле (textarea) и нажимаю ентер, то происходит перенос строки в поле, и отправка данных через ajax.
Как сделать так, чтобы при нажатии ентер мы выходили из textarea без переноса строки? А в идеале, вообще очистить поле.
Заранее спасибо! | |
|
|
|
|
|
|
|
для: sasha12342
(15.03.2014 в 17:18)
| |
if (e.keyCode === 13) {
e.preventDefault();
// other code
}
|
И не document.onkeyup, а $('#your_textarea').on('keyup', ...);
Затем, после или перед выводом $('#vivod').html(data) пишем:
$('#your_textarea').val('') - очищаем.
Если же затем нужен фокус на текстарее, допишем:
$('#your_textarea').val('').focus();
Но! Отменить e.keyCode === 13 нужно не по keyup, а по keypress:
$('#your_textarea').focus().keypress(function(e){
if(e.keyCode===13){
e.preventDefault();
sends();
}
|
При этом для удобства сопровождения кода, выписав все выкрутасы с аджаксом в функцию sends(). | |
|
|
|
|
|
|
|
для: Deed
(16.03.2014 в 11:54)
| | Спасибо большое за пояснения! Все максимально понятно и ничего лишнего! "document.onkeyup" мне самому не нравился, но не знал как обратиться непосредственно к "#my_textarea"...
Еще раз спасибо! | |
|
|
|