老师,为什么实现不了?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <!DOCTYPE html> < html > < head > < meta charset = "UTF-8" > < title >onblur和onfocus</ title > < style type = "text/css" > .red{ border:1px solid red; } </ style > </ head > < body > 姓名:< input type = "text" id = "incase" > < span id = "span" ></ span > < script type = "text/javascript" > // 补充代码 var incase=document.getElementById('input'); var spantext=document.getElementById('span'); incase.onfocus=function(){ spantext.innerHTML("请输入您的姓名"); } incase.onblur=function(){ if(incase.value.length==0){ spantext.innerHTML("用户名不能为空"); incase.style.borderColor='red'; } else{ spantext.innerHTML(""); } } </ script > </ body > </ html > |
26
收起
正在回答
2回答
同学你好,不输入任何内容,聚焦失焦后,再次聚焦,边框会变红(放大页面查看效果),如下:
建议修改:聚焦时,直接设置className属性值为black即可
针对同学的问题解答如下:
因为getElementById方法获取input元素时,传入的并不是id属性值,而是标签名,无法获取到对应的元素,导致无法实现效果,如下:
另外,innerHTML是一个属性,不是一个方法,不可以添加圆括号调用,建议修改:
祝学习愉快~
易要自律
2021-12-31 22:50:27
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <!DOCTYPE html> < html > < head lang = "en" > < meta charset = "UTF-8" > < title >onblur和onfocus</ title > < style type = "text/css" > .red{ border:1px solid red; } </ style > </ head > < body > 姓名:< input type = "text" id = "incase" > < span id = "span" ></ span > < script type = "text/javascript" > // 补充代码 var incase=document.getElementsByTagName('input')[0]; var spantext=document.getElementsByTagName('span')[0]; incase.onfocus=function(){ if(incase.value.length==0){ spantext.innerHTML='请输入您的姓名'; } } incase.onblur=function(){ if(incase.value.length==0){ spantext.innerHTML='用户名不能为空'; this.className="red"; } else{ spantext.innerHTML=""; this.className="black"; } } </ script > </ body > </ html > |
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧