还想在下面的这个页中,也就是addrow()的验证里实现支出和收入的文本框两者只能有一者存在数据。 
当两者等于空时:alert("你输入了事项,但没有输入支出或收入的数据!\n"); 
当两者不等于空时:alert("在一个事项里,同时存在了支出和收入数据,这是不允许的!\n"); 
高手支招啊!!! 这个问题的关键是: 
1、因为是复制,所以新增加的行内控件是同名的; 
2、不知道新增加的行是否会存在HTML DOM对象? 
解决思路: 
1、在遍历控件并检查控件值时判断两个控件是不是相邻的; 
2、如果确定新增加的行存在HTML DOM对象,那么判断这两个控件是不是存在于同一行内ROWS(*) 
 <html>  
<head>  
<title></title>  
  <script language="javascript">  
    var Index=1;  
     function isnum(str) 
     { 
        rset=""; 
for(i=0;i<str.length;i++) 

if(str.charAt(i)>="0" && str.charAt(i)<="9" || str.charAt(i)==".") 


else 

return 0; 


return 1; 
     } 
    function AddRow()  
    {  
      var isneed = true;  
      //获得Table对象  
      var tableObject = document.getElementById("CloneNodeShow"); 
      //判断是否有必要添加新的输入行  
      for( var j = 0; j < tableObject.all.tags("input").length; j++ )  
      {  
        var inputs = tableObject.all.tags("input")[j];  
        if( inputs.type == "text" && inputs.name == "item" )  
        {  
           if (inputs.value != "") 
              { 
                  if (inputs.value.search(/[%$<>/&'#^,()]/gi) != -1) 
  { 
                         alert("输入的内容中不能包含有< > / , ( ) % & ‘ # $ ^等字符,请正确输入!\n"); 
 isneed = false;  
                         inputs.focus(); 
 return; 
  } 
      }else{ 
           alert("系统提示你:你还有足够的空行来填写你想要的内容!\n"); 
   isneed = false; 
                           inputs.focus(); 
   return; 
             } 
        }          if( inputs.type == "text" && inputs.name == "income" )  
        {  
           if (inputs.value != "") 
              { 
      if (! isnum(inputs.value)) 
                       { 
        alert("如果输入的确实是你的收入帐目,那么应该是数字才对!\n"); 
        isneed = false; 
                        inputs.focus(); 
        return; 
                      } 

        }   
        if( inputs.type == "text" && inputs.name == "expend" )  
        {  
           if (inputs.value != "") 
              { 
      if (! isnum(inputs.value)) 
                       { 
        alert("如果输入的确实是你的支出费用,那么应该是数字才对!\n"); 
        isneed = false; 
                        inputs.focus(); 
        return; 
                      } 

        }  
    }        if( isneed )  
      {       
        Index++; 
        var CloneRow=document.getElementById("CloneRow"); 
        var NewRow=CloneRow.cloneNode(true); 
        var input=NewRow.getElementsByTagName("input"); 
        for(var i=0;i<input.length;i++) 
        { 
          if(input[i].type=="text") 
            input[i].value=""; 
        } 
        tableObject.appendChild(NewRow); 
        NewRow.cells[0].innerHTML=Index+".";  
      }  
    }  
</script>  
</head>  
<body>  
    <table  border="1" bordercolor=navy align=center>       
      <tr align=center valign=middle>  
        <td> 序号 </td> 
        <td> 事项 </td> 
        <td> 收入 </td>  
        <td> 支出 </td>  
      </tr>  
      <tbody id="CloneNodeShow"> 
      <tr id="CloneRow"> 
        <td align=center valign=middle> 1. </td>  
        <td> 
          <input size="26" type="text" name="item"> 
        </td> 
        <td align="center" valign="middle">  
            <input type="text" name="income">  
        </td>  
        <td align="center" valign="middle">  
            <input type="text" name="expend">  
        </td>  
      </tr>  
     </tbody> 
     <tr><td colspan="4" align="center"><input type="button" value="增加" onclick="AddRow()"></td></tr> 
    </table>  
</body>  
</html>