Заменить onClick() на Onkeyup
Как изменить вывод результата скрипта по onkeyup в question? Тобишь без кнопки - автоматически, после ввода текста выводить результат
const TEXTElement = document.getElementById('text');
function onClick() {
const TEXT = TEXTElement.value;
const QUESTIONS = TEXT.match(/вопрос:.*?(?=<br>)/gi);
const QUESTIONS_HTML = QUESTIONS.join("<br>");
document.getElementById("question").innerHTML = QUESTIONS_HTML;
}
<textarea id=text> </textarea>
<button type="button" onclick="onClick()">Click me</button>
<div id="question"></div>
Ответы (2 шт):
Автор решения: Rikky
→ Ссылка
Вот вам пример:
function showResult(event) {
//проверка функции
document.getElementById('question').innerHTML = event.value;
//...... код функции ....
}
<textarea id=text onKeyUp="showResult(this)"></textarea>
<div id="question"></div>
Автор решения: Александр Лесив
→ Ссылка
const TEXTElement = document.getElementById('text');
// Текст для проверки:
// Transfer: Вопрос: почему сегодня такая плохая погода<br><br> Ответ: Мы сами не знаем<br>Вопрос: хорошо спасибо<br><br>
// Так же можно слушать событие 'input', так как ввод с клавиатуры
// не единственный способ введения данных в форму
TEXTElement.addEventListener('keyup', onKeyup);
function onKeyup() {
const TEXT = TEXTElement.value;
const QUESTIONS = TEXT.match(/вопрос:.*?(?=<br>)/gi);
// Если не делать проверку на null выполнение функции может завершится с ошибкой
if (QUESTIONS != null) {
const QUESTIONS_HTML = QUESTIONS.join("<br>");
document.getElementById("question").innerHTML = QUESTIONS_HTML;
}
// опционально можно добавить else блок, который будет стирать данные
// если нет совпадений с регулярным выражением
// else document.getElementById("question").innerHTML = ''
}
<textarea id=text> </textarea>
<button type="button">Click me</button>
<div id="question"></div>