

<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
