代码如下
<script language="JavaScript"> function check(){ var tx=document.form1.username.value; var d=document.getElementById("p1"); if (!tx.match("^[a-zA-Z0-9_]{10,13}$")) { d.outerText="你输入的用户名非法!"; } else{ d.style.visibility ="hidden"; } } </script> </head> <body> <form name="form1"> 用户名:<input type="text" name="username" onmouseleave="return check()"/> <p id="p1">请输入5到10为用户名!</p> </form> </body>
提示:行: 13错误: 'null' 为空或不是对象,怎么解决?
解决方案:
将d.outerText="你输入的用户名非法!";
改成
d.innerHTML="你输入的用户名非法!";
因为你outerText之后,p已经不存在了。
innerText
innerHTML是改变里面的内容
outer是改变外部的。连标签都替换了下次就没法用了。所以是null