主要内容如下,问题出在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>…………

解决方案 »

  1.   

    while(lab.firstChild!="")
    {lab.removeChild(lab.firstChild);}
    var txt=document.createTextNode("用户名格式不正确");
    lab.appendChild(txt);==》
    lab.innerHTML ="用户名格式不正确";
      

  2.   

    根本不用你哪样写的。我写了一个。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <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>
      

  3.   


    <!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>