写成FUNCTION 在TEXT的ONCHANGE事件中加上FUNCTION

解决方案 »

  1.   

    function DisplayText()
    {
       ....
       你的代码
    }<input type="text" onchange="DisplayText()"/>
      

  2.   

    getElementsByTagName("div");
    div不支持name属性,所以此法肯定不对
      

  3.   

    楼上的方法之前也用过了,可能是我的代码有错,也不能实现啊
    我把上面的代码写成一个函数,然后在前三个文本框中加了onchange事件,效果只有一个:就是程序报错。@_@
      

  4.   

    第一种方法document.getElementById("dv3").style.display=(pm2=="")?"none";"block";
    是冒号不是分号
    <script type="text/javascript">
    function displayInput()
    {
    var pm0=document.myform.pm0.value;
    var pm1=document.myform.pm1.value;
    var pm2=document.myform.pm2.value;
    var pm3=document.myform.pm3.value;
    document.getElementById("dv1").style.display=(pm0=="")?"none":"block";
    document.getElementById("dv2").style.display=(pm1=="")?"none":"block";
    document.getElementById("dv3").style.display=(pm2=="")?"none":"block";
    }
    </script>
    <form name="myform">
    <table>
    <tr>
    <td id="addpic"> 
    <div id="dv0"><input type=text name="pm0" size=35 id="pm0" onchange="displayInput()" /></div> 
    <div id="dv1" style="display:none"><input type=text name="pm1" id="pm1" size=35 onchange="displayInput()"/></div> 
    <div id="dv2" style="display:none"><input type=text name="pm2" id="pm2" size=35 onchange="displayInput()"/></div> 
    <div id="dv3" style="display:none"><input type=text name="pm3" id="pm3" size=35 onchange="displayInput()"/></div> 
    </td>
    </tr>
    </table>
    </form>
      

  5.   

    我改成这样也不行啊!
    <td id="addpic">
    <div id="dv0"><input type=text name="pm0" size=35 id="pm0" onchange="ch()"></div>
    <div id="dv1" style="display:none"><input type=text name="pm1" id="pm1" size=35 onchange="ch()"></div>
    <div id="dv2" style="display:none"><input type=text name="pm2" id="pm2" size=35 onchange="ch()"></div>
    <div id="dv3" style="display:none"><input type=text name="pm3" id="pm3" size=35></div>
    </td><script type="text/javascript">
    function ch()
    {
     for (i=0;i<3;i++)
      {
       if(document.getElementById("pm"+i).value=="")
        {
         document.getElementById("dv"+i+1).style.display="block";
        }
       else
        {
         document.getElementById("dv"+i+1).style.display="none";
        }
      }
    }
    </script>
      

  6.   

      <script type="text/javascript">
      $=function (id){return document.getElementById(id);}
      function Te_s()
      {
         var pm0=$("pm0").value;
         var pm1=$("pm1").value;
         var pm2=$("pm2").value;
         var pm3=$("pm3").value;
         document.getElementById("dv1").style.display=(pm0=="")?"none":"block";
         document.getElementById("dv2").style.display=(pm1=="")?"none":"block";
         document.getElementById("dv3").style.display=(pm2=="")?"none":"block";
      }
      </script> 
      </head>   
      <body>  
    <td id="addpic"> 
    <div id="dv0"> <input type=text name="pm0" size=35 id="pm0" onBlur="Te_s()"> </div> 
    <div id="dv1" style="display:none"> <input type=text name="pm1" id="pm1" size=35 onBlur="Te_s()"> </div> 
    <div id="dv2" style="display:none"> <input type=text name="pm2" id="pm2" size=35 onBlur="Te_s()"> </div> 
    <div id="dv3" style="display:none"> <input type=text name="pm3" id="pm3" size=35 onBlur="Te_s()"> </div> 
    </td> 
    </body>
    楼主笔误  document.getElementById("dv3").style.display=(pm2=="")?"none";"block";
    是: 不是;  我的这个可以实现
      

  7.   

    <script type="text/javascript">
    function aa()
    {var pm0=document.getElementById("pm0").value;
    var pm1=document.getElementById("pm1").value;
    var pm2=document.getElementById("pm2").value;
    var pm3=document.getElementById("pm3").value;
    document.getElementById("dv2").style.display=(pm0=="")?"none":"block";
    document.getElementById("dv3").style.display=(pm1=="")?"none":"block";
    document.getElementById("dv4").style.display=(pm2=="")?"none":"block";
    }
    </script>
    <div id=dv1><input type="text" id='pm0'  onKeyUp="javascript:aa()"/></div>
    <div id=dv2 style="display:none"><input type="text" id='pm1'  onKeyUp="aa()"/></div>
    <div id=dv3 style="display:none"><input type="text" id='pm2'  onKeyUp="aa()"/></div>
    <div id=dv4 style="display:none"><input type="text" id='pm3'  onKeyUp="aa()"/></div>
      

  8.   

    回五楼朋友的,错误提示:缺少对象。说是98行第一个字符,那个根本不可能,我前面的都是跟这里不相关的html代码,都是td和tr标记。
    像7楼朋友说的那样,弄成函数功能是可以实现。但是感觉挺别扭,添加了内容需要鼠标在其它地方点一下才会显示后面的文本框,有方法让它自动执行吗?好像有一个on什么事件的,有点像onfocus那样的效果,代码该怎么写呢?
      

  9.   

    <script type="text/javascript">
    function ch()
    {
     for (i=0;i<3;i++)
      {
       if(document.getElementById("pm"+i).value=="")
        {
         document.getElementById("dv"+i+1).style.display="block";
        }
       else
        {
         document.getElementById("dv"+i+1).style.display="none";
        }
      }
    }
    </script>
    document.getElementById("dv"+i+1).style.display="none";
    中获取ID有问题"dv"+i+1是先"dv"和i相加都成了字符了 再加上1就不对了
    改成dv"+(i+1) 
    另外的就是你的逻辑问题了
      

  10.   

    <html>
    <head>
    <script type="text/javascript">
    function displayInput()
    {
    var pm0=document.myform.pm0.value;
    var pm1=document.myform.pm1.value;
    var pm2=document.myform.pm2.value;
    var pm3=document.myform.pm3.value;
    var obj=document.getElementById("addpic").getElementsByTagName("div");
      for (i=0;i<obj.length-1;i++)
      {
        if(document.getElementById("pm"+i).value=="")
        {
          document.getElementById("dv"+(i+1)).style.display="none";
        }
        else
        {
         document.getElementById("dv"+(i+1)).style.display="";
        }
      }
    }
    </script>
    </head>
    <body>
    <form name="myform">
    <table>
    <tr>
    <td id="addpic"> 
    <div id="dv0"><input type=text name="pm0" size=35 id="pm0" onchange="displayInput()" /></div> 
    <div id="dv1" style="display:none"><input type=text name="pm1" id="pm1" size=35 onchange="displayInput()"/></div> 
    <div id="dv2" style="display:none"><input type=text name="pm2" id="pm2" size=35 onchange="displayInput()"/></div> 
    <div id="dv3" style="display:none"><input type=text name="pm3" id="pm3" size=35 onchange="displayInput()"/></div> 
    </td>
    </tr>
    </table>
    </form>
    </body>
    </html>