如果在textarea中找到(http),(https)或(www),如何禁用提交按钮

问题描述 投票:0回答:3

我已经在javascript中创建了一个代码,如果选择了下拉选项,则会禁用表单上的提交按钮,但如果键入字符串(http),(https)或(www),我还要关闭提交按钮进入表格的文本区域。任何正确方向的帮助都会很棒。

javascript html5 forms textarea
3个回答
0
投票

试试这个

<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


0
投票

您可以收听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块,以便在删除非法单词时显示提交按钮(如果当前不可见)。


0
投票

用于测试字符串是否包含http,https或www的函数

var valid = function(text){
  var regex = /(https?|www)/;
  return !regex.test(text);
}
© www.soinside.com 2019 - 2024. All rights reserved.