JavaScript输入框输入sadra不触发alert且无报错如何解决
存在的问题
- 输入框内容获取方式错误:
<input>是自闭合标签,用户输入的内容存储在value属性中,你使用innerHTML只能获取到空字符串,永远无法匹配到关键词,所以不会触发弹窗。 - 变量逻辑冗余冲突:全局声明的
realText、函数入参realText、函数内部重新声明的realText三者命名重复,且传递的参数没有任何实际作用,完全可以去掉。 - (可选优化)
onchange事件仅在输入框失去焦点时才触发,如果需要输入过程中实时检测关键词,可以替换为oninput事件。
修正后代码
JS 代码
function checkText() { const realText = document.getElementById('input1').value; if (realText.includes('sadra')) { alert("your text contains \"sadra\" word "); } }
HTML 代码
<label>Input :</label> <input type="text" name="test" id="input1" onchange="checkText()" />
内容的提问来源于stack exchange,提问作者IR Fifa
相关产品推荐
相关产品推荐

