Javascript 如何在jsp中输入dob字段后自动填充年龄字段。?

Javascript 如何在jsp中输入dob字段后自动填充年龄字段。?,javascript,html,Javascript,Html,我的jsp代码如下所示:(一个简单的registration from with fields) DOB 年龄 性别女性 我在JS中使用了一个函数来计算dob的年龄!Dob是sql日期格式 <script type="text/javascript"> function ageCount(){ var date1 = new date(); var dob = document.getElementById("dob").value; var date2 = new date(do

我的jsp代码如下所示:(一个简单的registration from with fields)

DOB
年龄
性别女性
我在JS中使用了一个函数来计算dob的年龄!Dob是sql日期格式

<script type="text/javascript">
function ageCount(){
var date1 = new date();
var dob = document.getElementById("dob").value;
var date2 = new date(dob);
var pattern = /^\d{1,2}\/\d{1,2}\/\d{4}$/; 
if(pattern.test(dob)){
    var y1 = date1.getFullYear();
    var y2 = date2.getFullYear();
    var age = y1-y2;
    document.write("Age :" +age);
    return true;
}else{
    alert("invalid date fromat.!! Please enter in (DD/MM/YYYY) format");
    return false;
}
     }


     </script>

函数ageCount(){
var date1=新日期();
var dob=document.getElementById(“dob”).value;
var date2=新日期(dob);
var模式=/^\d{1,2}\/\d{1,2}\/\d{4}$/;
if(模式测试(dob)){
var y1=date1.getFullYear();
var y2=date2.getFullYear();
var年龄=y1-y2;
文件。书写(“年龄:+年龄);
返回true;
}否则{
警报(“起始日期无效!!请以(DD/MM/YYYY)格式输入”);
返回false;
}
}
如何使用该选项,以便在输入出生日期并按tab键时,年龄应显示在其字段中。 提出你的想法和建议。


<input type="text" name="dob" onBlur="getAge(this.value)"/>
<input type="text" name="age" id="ageId"/>

function getAge(birthDate){

  var birthDate= new Date(birthDate);
   var  currentDate= new Date();

    var years = (otherDate.getFullYear() - birthDate.getFullYear());

    if (currentDate.getMonth() < birthDate.getMonth() || 
        currentDate.getMonth() == birthDate.getMonth() && currentDate.getDate() < birthDate.getDate()) {
        years--;
    }
$('#ageId').val(years);
函数getAge(生日){ var birthDate=新日期(birthDate); var currentDate=新日期(); 变量years=(otherDate.getFullYear()-birthDate.getFullYear()); 如果(currentDate.getMonth()
} 如果当前月份小于或等于出生月份,且当前日期小于出生日期,则我将减少年份值


函数getAge(生日){
var birthDate=新日期(birthDate);
var currentDate=新日期();
变量years=(otherDate.getFullYear()-birthDate.getFullYear());
如果(currentDate.getMonth()
} 如果当前月份小于或等于出生月份,并且当前日期小于出生日期,则我正在减少年份值

您可以使用
unBlur()
函数,当您控制从文本框离开焦点时,应调用JavaScript方法

像这样:-

<input type="text" name="age" onblur="ageCount()"/>

现在,在JavaScript中,您可以计算年龄和显示

<script type="text/javascript">
    // Your ageCount() for calculate AGE and display AGE
</script>

//用于计算年龄和显示年龄的ageCount()
您可以使用
unBlur()
函数,当您控制从文本框离开焦点时,应调用JavaScript方法

像这样:-

<input type="text" name="age" onblur="ageCount()"/>

现在,在JavaScript中,您可以计算年龄和显示

<script type="text/javascript">
    // Your ageCount() for calculate AGE and display AGE
</script>

//用于计算年龄和显示年龄的ageCount()

嘿,伙计们,谢谢你们花时间处理我的问题

我自己解决了这个问题,做了一些改动

修改后的代码:(如果需要,可以帮助其他人)


函数ageCount(){
var date1=新日期();
var dob=document.getElementById(“dob”).value;
var date2=新日期(dob);
var模式=/^\d{1,2}\/\d{1,2}\/\d{4}$/;
//用于验证日期格式的正则表达式(dd/mm/yyyy)
if(模式测试(dob)){
var y1=date1.getFullYear();
//获取当前年度
var y2=date2.getFullYear();
//获得dob年
var年龄=y1-y2;
//计算年龄
document.getElementById(“ageId”).value=age;
getElementById(“ageId”).focus();
返回true;
}否则{
警报(“日期格式无效。请输入(dd/mm/yyyy)格式!”);
返回false;
}
}


出生日期
年龄

嘿,伙计们,谢谢你们花时间处理我的问题

我自己解决了这个问题,做了一些改动

修改后的代码:(如果需要,可以帮助其他人)


函数ageCount(){
var date1=新日期();
var dob=document.getElementById(“dob”).value;
var date2=新日期(dob);
var模式=/^\d{1,2}\/\d{1,2}\/\d{4}$/;
//用于验证日期格式的正则表达式(dd/mm/yyyy)
if(模式测试(dob)){
var y1=date1.getFullYear();
//获取当前年度
var y2=date2.getFullYear();
//获得dob年
var年龄=y1-y2;
//计算年龄
document.getElementById(“ageId”).value=age;
getElementById(“ageId”).focus();
返回true;
}否则{
警报(“日期格式无效。请输入(dd/mm/yyyy)格式!”);
返回false;
}
}


出生日期
年龄
试试这个

<script type="text/javascript">
function ageCount() {
var today = new Date();
var date1 = document.getElementById("dob").value;
var dob = new Date(date1);  
var month = dob.getMonth();
    var day = dob.getDate();  
    var age = today.getFullYear() - dob.getFullYear();
    if (today.getMonth() < month || (today.getMonth() == month && today.getDate() < day))
    {
      age--;
     }                
if(age < 0)
{
alert ("Invalid Date of Birth");    
return false;
}
else
{
    document.getElementById("age").value = age;
    doucment.getElementById("age").focus ();
    alert(age);
    return true;
}
}
</script>    

函数ageCount(){
var today=新日期();
var date1=document.getElementById(“dob”).value;
var dob=新日期(日期1);
var month=dob.getMonth();
var day=dob.getDate();
var age=today.getFullYear()-dob.getFullYear();
if(今天.getMonth()
试试这个

<script type="text/javascript">
function ageCount() {
var today = new Date();
var date1 = document.getElementById("dob").value;
var dob = new Date(date1);  
var month = dob.getMonth();
    var day = dob.getDate();  
    var age = today.getFullYear() - dob.getFullYear();
    if (today.getMonth() < month || (today.getMonth() == month && today.getDate() < day))
    {
      age--;
     }                
if(age < 0)
{
alert ("Invalid Date of Birth");    
return false;
}
else
{
    document.getElementById("age").value = age;
    doucment.getElementById("age").focus ();
    alert(age);
    return true;
}
}
</script>    

函数ageCount(){
var today=新日期();
var date1=document.getElementById(“dob”).value;
var dob=新日期(日期1);
var month=dob.getMonth();
var day=dob.getDate();
var age=today.getFullYear()-dob.getFullYear();
if(今天.getMonth()