javascript - 未捕获的 TypeError : text. 搜索不是 HTMLLIElement 的函数

标签 javascript java html

所以我试图阻止某些单词在我网站的文本框中使用。我不断收到控制台错误 Uncaught TypeError: text.search is not a function at HTMLLIElement。

这是我使用的代码:

window.onload=function(){
var banned = ['MMM','XXX'];
document.getElementById('field_1_17').addEventListener('keyup', function(e) {
    var text = document.getElementById('field_1_17').value;
    for (var x=0;x<banned.length;x++) {
        if (text.search(banned[x]) !== -1) {
            alert(banned[x]+' is not allowed!');
        }
        var regExp = new RegExp(banned[x]);
        text = text.replace(regExp,'');
    }
    document.getElementById('field_1_17').value = text;
},false);
}

这是有问题的元素/文本框:

<input name="input_17" id="input_1_17" type="text" value="death" class="medium" maxlength="12" tabindex="5" aria-required="true" aria-invalid="false" data-emoji_font="true" style="font-family: Radnika, sans-serif, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;, Symbola, EmojiSymbols !important;">

最佳答案

我认为你需要更新脚本<​​/p>

<script type="text/javascript">
    window.onload=function(){
        var banned = ['MMM','XXX'];
        document.getElementById('input_1_17').addEventListener('keyup', function(e) {
            var text = document.getElementById('input_1_17').value;
            for (var x=0;x<banned.length;x++) {
                if (text.search(banned[x]) !== -1) {
                    alert(banned[x]+' is not allowed!');
                }
                var regExp = new RegExp(banned[x]);
                text = text.replace(regExp,'');
            }
            document.getElementById('input_1_17').value = text;
        },false);
    }
</script>

因为您的输入标记 ID 是 input_1_17 并且您正在使用 field_1_17,所以更新了此内容。 如果需要,您可以仅更改输入标记 id ,您可以分配 id field_1_17 在这种情况下无需更改脚本中的任何内容

关于javascript - 未捕获的 TypeError : text. 搜索不是 HTMLLIElement 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58165546/

相关文章:

java - Docker+Log4j最佳实践

Java读取包含日文字符的文件

java - 无法使用构造函数创建对象

jquery - Angular 将页面转换为可下载或通过电子邮件发送的 html

html - 如何在行内 block 元素之间添加空间?

javascript - 使用 JQuery 的 nicEditor 和 onchange 事件

javascript - 下载 jQuery 库后 jQuery 仍然无法离线工作

javascript - JQUERY 在图像变化时创建滑动效果

javascript - 如何在按 Enter 之前检查焦点在哪里?

javascript - this.id 在声明的函数内部时返回 undefined