如何在文本框中添加if条件,避免点击发送按钮时出现空气泡
解决空输入不生成气泡的问题
没问题,这就帮你调整代码,实现当文本框为空(包括只输入空格)时点击发送不生成空气泡的需求。
核心思路就是在生成气泡前先判断输入内容是否有效,如果是空内容就直接终止函数执行,不往下走生成气泡的逻辑。修改后的完整代码如下:
function typo(){ // 先获取输入框的值,同时去除前后空格,避免纯空格的无效输入 const inputValue = document.getElementById("myText").value.trim(); // 如果处理后的值为空,直接结束函数,不生成气泡 if (!inputValue) { return; } var currentText = document.getElementById("demo").innerHTML; var x = '<div><p class=bubble>' + inputValue + '</p></div>'; document.getElementById("myText").value = ""; document.getElementById("demo").innerHTML = currentText + x; // 补全滚动条到底部的逻辑(原代码未写完,这里帮你补全) var z = document.getElementById('demo'); z.scrollTop = z.scrollHeight; }
关键改动说明:
- 新增
trim()处理:把输入框的值去除前后空格,这样能过滤掉用户只输入空格的无效情况,逻辑更严谨 - 添加
if (!inputValue)判断:如果处理后的值为空,直接用return终止函数,不会执行后面生成气泡的代码 - 气泡内容改用处理后的
inputValue,避免把多余的空格也放进气泡里
内容的提问来源于stack exchange,提问作者Chris stewart
相关产品推荐
相关产品推荐

