未捕获的类型错误:text.search 不是 HTMLLIElement 的函数



所以我试图阻止某些单词在我的网站上的文本框中使用。我不断收到控制台错误Uncatch TypeError:text.search不是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;">

我认为您需要更新脚本

<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而无需更改脚本中的任何内容

相关内容

最新更新