как добавить текст в текстовое поле и нажать энтер джаваскриптом?
как добавить текст в текстовое поле и нажать энтер джаваскриптом?
<textarea aria-label="Добавьте комментарий..." class="_bilrf" placeholder="Добавьте комментарий..." style="height: 18px;">cc</textarea> |
денис77447327,
Возможно достаточно поместить textarea в форму и сабмитить ее по клику? |
а конкретнее? я что то не пойму
|
var field = document.querySelector('textarea._bilrf');
field.value = 'Bla bla bla';
field.form.submit();
|
не работает
он обновляет страницу текст появляется в текстарреа но после field.form.submit(); идет не отрпавка его а обновление |
Цитата:
|
MadChildNSK,
Цитата:
|
MadChildNSK,
программное нажатие может не оправдать ваши ожидания. |
нет кнопки отправить текст отправляется по нажатию энтер
|
О форме с единственным textarea
В многострочном textarea использование в качестве сигнала отправки формы копки Enter⏎ не позволяет использовать этот самый многострочный ввод... Обычно для этой цели на настольном компьютере с клавиатурой или ноутбуке используют Cmd+Enter, но тогда пользователи сенсорных устройств не смогут отправить такую форму. Т. е. *дополнительная* кнопка для отправки нужна, поскольку тогда пользователи знают, какое они совершат действие с введённым текстом. (По крайней мере у них не сложится впечатление, что достаточно ввести текст...) Также пользователи, которые привыкли к удобному заполнению форм, введя текст, смогут нажать Tab⭾ и сфокусировавшись на кнопке, нажать на Enter⏎ Пользователи сенсорных устройств всё-таки смогут отправить форму, нажав на кнопку. Ну и пример. Форма с единственным textarea.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Пример формы с многострочным вводом</title>
<meta name="viewport" content="width=device-width">
<style>
button, form, textarea {
color: deepskyblue;
border: 1px solid;
background: transparent;
border-radius: 1em;
padding: 0;
font: inherit;
display: inline-block;
box-sizing: border-box;
padding: .5em 1em;
outline: 0;
}
button:focus, form:focus, textarea:focus {
box-shadow: 0 0 0 .1em, 0 0 1em;
}
form {
position: relative;
min-width: 100%;
padding: 0;
}
button {
position: absolute;
bottom: .5em; right: .5em;
}
textarea {
width: 100%; height: 100%;
display: block;
border: none;
min-height: 8em;
resize: vertical;
}
</style>
</head>
<body>
<form onsubmit="submitHandler(this); return false;">
<textarea
onkeydown="submitForm(this.form);"
title="Нажмите ⌘⏎ или ⌃⏎ чтобы отправить"
placeholder="Введите Ваш комментарии..."
></textarea>
<button>Отправить</button>
</form>
<script>
function submitForm(form) {
if(
(event.ctrlKey || event.metaKey) &&
event.keyCode === 13
) {
submitHandler(form);
}
}
function submitHandler(form) {
// действие, которое совершается при отправке формы
alert(form.elements[0].value);
}
</script>
</body>
</html>
Выводы: 1. ⏎ для перевода строки, ⌘⏎ или ⌃⏎ чтобы отправить 2. кнопка нужна: ⭾⏎ чтобы отправить; явно нажать |
| Часовой пояс GMT +3, время: 06:58. |