#javascript #html #forms #textarea
#javascript #HTML #формы #текстовая область
Вопрос:
У меня уже есть код, который я создал на javascript, который отключает кнопку отправки в форме, если выбран выпадающий список, но я также хочу отключить кнопку отправки, если строка (http), (https) или (www) введена в текстовую область формы. Любая помощь в правильном направлении была бы замечательной.
Ответ №1:
Попробуйте это
<textarea id="my-textarea"></textarea>
document.querySelector('#my-textarea').addEventListener('input', (event) => {
if (event.target.value.includes('http') || event.target.value.includes('https') || event.target.value.includes('www')) {
console.log('invalid');
} else {
console.log('valid');
}
});
Вот пример скрипта:https://jsfiddle.net/2qorhekd
Комментарии:
1. спасибо за ваш ответ, но это вообще не работает, собирался попытаться заставить его работать с моей настройкой, а затем изменить его оттуда, но он не работает на jsfiddle. Возможно, я что-то упускаю.
2. Здравствуйте, вы могли бы попробовать еще раз отредактированный fiddlejs, спасибо.
3. Я забыл добавить объект ‘event’ в функцию arrow, но сейчас он работает. просто убедитесь, что скопировали обновленный ответ / код. Спасибо.
4. Ты потрясен, как только я отредактировал это, чтобы кнопка не была отключена, она теперь работает на 100%. Большое вам спасибо!!!
5. Рад помочь, братан. Спасибо. 😀
Ответ №2:
Вы могли бы прослушать keyup
событие и проверить входные данные при срабатывании события.
Что-то вроде:
let illegalWords = ["http", "https", "www"];
function checkText(text) {
if (text.length >= 1) {
for (let word of illegalWords) {
if (text == word) {
// word found, remove submit button
console.log("found");
document.getElementById("submit").style.display = "none";
}
}
}
}
<textarea onkeyup='checkText(this.value);'></textarea>
<button type="submit" id="submit">Submit</button>
Вы могли бы добавить else
блок к этому коду, чтобы кнопка отправки появлялась (если в данный момент не видна) при удалении запрещенных слов.
Комментарии:
1. Спасибо за этот ответ, он выглядел многообещающим и работает внутри «Выполнить фрагмент кода», но после внедрения на мою страницу, похоже, он не работает. Вообще ничего не происходит
Ответ №3:
Функция для проверки, содержит ли строка http, https или www
var valid = function(text){
var regex = /(https?|www)/;
return !regex.test(text);
}
Комментарии:
1. Сначала не был уверен, как реализовать это без контекста, но как только я получил это, я увидел, что это не сработает для того, что мне было нужно. Тем не менее, спасибо за ваше представление.