有什么办法能检测输入内容非空且不会引起浏览器报错呢?
来源:1-8 编程练习
JovetWang
2020-03-16 21:38:36
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>输入框</title>
</head>
<body>
<input type="button" value="点击">
<script type="text/javascript">
//补充代码
var btn=document.getElementsByTagName("input")[0];
btn.onclick=function(){
var words=prompt("请输入文本\n当点击确定时,按钮上的文字会变成输入框输入的内容");
if(words.length!=0){
btn.value=words;
}else{
return;
}
}
</script>
</body>
</html>因为获取不到null的长度而报错,但是我想不出还有更好的解决办法了
test.html:14 Uncaught TypeError: Cannot read property 'length' of null at HTMLInputElement.btn.onclick (test.html:14)
3回答
同学你好,关于同学的问题回答如下:
1、当按取消时,控制台报错是因为prompt函数的返回值为null,我们可以打印出来看下:


那么这就相当于null.length,所以会报错。
2、修改参考:

同学再试下。
祝学习愉快~
好帮手慕粉
2020-03-17
同学你好,如果不要提示的话,同学第一次的代码是正确的呀,老师这边测试的输入为空没有报错:

同学是不是贴错代码了呢?建议同学再检查下。
祝学习愉快~
好帮手慕粉
2020-03-17
同学你好,参考如下:


如果我的回答帮助了你,欢迎采纳,祝学习愉快~
相似问题