<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >  
<HTML>  
 <HEAD>  
  <script language="javascript"> 
  function ExtractionBirthday(oneText,twoText)
{
var txtparm = document.getElementById(oneText).value;
if(txtparm.length==18)
{
var year = txtparm.substring(6,10);
  var month = txtparm.substring(10,12);
   var date=txtparm.substring(12,14);
document.getElementById(twoText).value=year+"-"+month+"-"+date;
}
else
{
if(txtparm.length==15){
var year = txtparm.substring(6,8);
var month = txtparm.substring(8,10);
var date=txtparm.substring(10,12);
document.getElementById(twoText).value=19+year+"-"+month+"-"+date;
}
else{
alert("输入的身份证不正确!");
document.getElementById(oneText).focus();
document.getElementById(oneText).value="";
}
}
}
</script>   
 </HEAD>  
 <body>  
 <table id="tabTest">
    <tr>
        <td>身份证:<input id="A" type="text"  onblur="ExtractionBirthday('A','B');"/></td>
        <td>出生日期:<input id="B" type="text"/>
</td>
    </tr>
    <tr>
        <td>身份证:<input id="A" type="text"  onblur="ExtractionBirthday('A','B');"/></td>
        <td>出生日期:<input id="B" type="text"/>
</td>
    </tr>
    <tr>
       <td>身份证:<input id="A" type="text"  onblur="ExtractionBirthday('A','B');"/></td>
        <td>出生日期:<input id="B" type="text"/>
</td>
    </tr>
  </table>
 </body>  
</HTML>  上面这是一段截取身份证号码得到出身年月日的代码,因为页面中要循环显示并调用上面的js函数,想跟id="A"加个变量id,使他与id="B"对应,能够保障页面循环调用有效……,这个循环咋个写!本人不会js,真是悲催呀,望高人指点指点~
小弟万分感谢~~

解决方案 »

  1.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >  
    <HTML>  
     <HEAD>  
      <script language="javascript"> 
      function ExtractionBirthday(oneText,twoText)
            {
            var txtparm = document.getElementById(oneText).value;
            if(txtparm.length==18)
            {
                var year = txtparm.substring(6,10);
              var month = txtparm.substring(10,12);
              var date=txtparm.substring(12,14);
                document.getElementById(twoText).value=year+"-"+month+"-"+date;
            }
            else
            {
                if(txtparm.length==15){
                    var year = txtparm.substring(6,8);
                    var month = txtparm.substring(8,10);
                    var date=txtparm.substring(10,12);
                    document.getElementById(twoText).value=19+year+"-"+month+"-"+date;
                }
                else{
                    alert("输入的身份证不正确!");
                    document.getElementById(oneText).focus();
                    document.getElementById(oneText).value="";
                }
            }
        }
    </script>   
     </HEAD>  
     <body>  
     <table id="tabTest">
        <tr>
            <td>身份证:<input id="A1" type="text"  onblur="ExtractionBirthday('A1','B1');"/></td>
            <td>出生日期:<input id="B1" type="text"/>
    </td>
        </tr>
        <tr>
            <td>身份证:<input id="A2" type="text"  onblur="ExtractionBirthday('A2','B2');"/></td>
            <td>出生日期:<input id="B2" type="text"/>
    </td>
        </tr>
        <tr>
           <td>身份证:<input id="A3" type="text"  onblur="ExtractionBirthday('A3','B3');"/></td>
            <td>出生日期:<input id="B3" type="text"/>
    </td>
        </tr>
      </table>
     </body>  
    </HTML>  id不要重复
      

  2.   


    我就是要实现动态生成id,像你标注的A1,B1;A2,B2对应的id,而非手动的写上去的
      

  3.   

    有点问题吧。
    在HTML部分,是否有多个 “身份证”,那么,在HTML里,应该循环输出TR,如
    <%for(int i = 0, i < list.length,i++){%>
             <tr>
            <td>身份证:<input id="<%list[i].id%>" type="text"  onblur="ExtractionBirthday('<%list[i].id%>','<%list[i].date%>');"/></td>
            <td>出生日期:<input id="<%list[i].id%>" type="text"/></td>
        </tr>
    <%}%>