主要内容如下,问题出在usrCheck()函数,
====var txt=document.createTextNode("用户名格式不正确");===
这行开始为什么没有执行?
脚本如下:<script type="text/javascript" >
function usrTip(){
var user=document.forms["sign"]["usr"];
var txt=document.createTextNode("4~10位字母,不区分大小写");
var lab=user.nextSibling;
while(lab.nodeName.toLowerCase()!="label")
{lab=lab.nextSibling;}
lab.appendChild(txt);
}function usrCheck(){
var user=document.forms["sign"]["usr"];
var lab=user.nextSibling;
while(lab.nodeName.toLowerCase()!="label")
{lab=lab.nextSibling;}
while(lab.firstChild!="")
{lab.removeChild(lab.firstChild);}
var txt=document.createTextNode("用户名格式不正确");
lab.appendChild(txt);
}
</script>
html代码:
…………<label for="usr">用户名</label><input type="text" id="usr" name="usr" onfocus="usrTip()" onblur="usrCheck()" /><label for="usr"></label>…………
====var txt=document.createTextNode("用户名格式不正确");===
这行开始为什么没有执行?
脚本如下:<script type="text/javascript" >
function usrTip(){
var user=document.forms["sign"]["usr"];
var txt=document.createTextNode("4~10位字母,不区分大小写");
var lab=user.nextSibling;
while(lab.nodeName.toLowerCase()!="label")
{lab=lab.nextSibling;}
lab.appendChild(txt);
}function usrCheck(){
var user=document.forms["sign"]["usr"];
var lab=user.nextSibling;
while(lab.nodeName.toLowerCase()!="label")
{lab=lab.nextSibling;}
while(lab.firstChild!="")
{lab.removeChild(lab.firstChild);}
var txt=document.createTextNode("用户名格式不正确");
lab.appendChild(txt);
}
</script>
html代码:
…………<label for="usr">用户名</label><input type="text" id="usr" name="usr" onfocus="usrTip()" onblur="usrCheck()" /><label for="usr"></label>…………
{lab.removeChild(lab.firstChild);}
var txt=document.createTextNode("用户名格式不正确");
lab.appendChild(txt);==》
lab.innerHTML ="用户名格式不正确";
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="[email protected]">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script type="text/javascript" >
function usrTip()
{
/*var user=document.forms["sign"]["usr"];
var txt=document.createTextNode("4~10位字母,不区分大小写");
var lab=user.nextSibling;
while(lab.nodeName.toLowerCase()!="label")
{
lab=lab.nextSibling;
}
lab.appendChild(txt);
*/ var tip = document.getElementById("spanTip");
tip.innerText="4~10位字母,不区分大小写";
}function usrCheck()
{
/*var user=document.forms["sign"]["usr"];
var lab=user.nextSibling;
while(lab.nodeName.toLowerCase()!="label")
{
lab=lab.nextSibling;
}
while(lab.firstChild!="")
{
lab.removeChild(lab.firstChild);
}
var txt=document.createTextNode("用户名格式不正确");
lab.appendChild(txt);
*/ var tip = document.getElementById("spanTip");
tip.innerText="用户名格式不正确";}</script>
</head> <body>
<form name="sign" method="post">
用户名
<input type="text" id="usr" name="usr" onfocus="usrTip()" onblur="usrCheck()" />
<span id='spanTip'></span>
</form>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Untitled Document</title>
<script type="text/javascript">
function usrTip(){
var user = document.forms["sign"]["usr"];
var txt = document.createTextNode("4~10位字母,不区分大小写");
var lab = user.nextSibling;
while (lab.nodeName.toLowerCase() != "label") {
lab = lab.nextSibling;
}
lab.appendChild(txt);
}
function usrCheck(){
var user = document.forms["sign"]["usr"];
var lab = user.nextSibling;
//lab.nodeName 永远是 #text,所以不管是不是label,后面的验证都不通过
while (lab.nodeName.toLowerCase() != "label") {
lab = lab.nextSibling;
}
//while改为if
if (lab.firstChild != "") {
lab.removeChild(lab.firstChild);
}
var txt = document.createTextNode("用户名格式不正确");
//user改为lab
lab.appendChild(txt);
}
</script>
</head>
<body>
<form name="sign">
<!-- -->
<label for="usr">用户名</label>
<input type="text" id="usr" name="usr" onfocus="usrTip();" onblur="usrCheck();" />
<!-- -->
<label for="usr2"></label>
</form>
</body>
</html>