2016-07-08 113 views
1

我正在开发一个任务管理系统,因为我在登记表中有年龄字段,我对如何在单击时自动更新字段存有疑问。 我的剧本是如何自动更新表单字段

<script> 
    var a = document.age1.dob.value; 
    age = a.getFullYear(); 
    var curr = new Date(); 
    year = curr.getFullYear(); 
    var age1 = year - age; 
</script> 

我计算时代并将其存储在age1变量。

<form id="form2" action="#" method="post" name="age1"> 
<h4><b>Register here</b></h4> 
<b>Name</b>: <input type="text" name="name" required="required" placeholder="Your name" pattern="[a-zA-Z0-9\s]+"><br><br> 
<b>E-mail</b>: <input type="email" name="email" required="required" placeholder="[email protected]" pattern="[a-z0-9._+%-][email protected][a-z0-9.-]+\.[a-z]{2,4}$"><br><br> 
<b>Password</b>: <input type="password" name="password" required="required"><br><br> 
<b>DOB</b>: <input type="text" name="dob" required placeholder="dd/mm/yyyy" pattern="^[0-3]?[0-9].[0-3]?[0-9].(?:[0-9]{2})?[0-9]{2}$"><br><br> 
<b>Age</b>: <input type="text" name="age" id="age2"><br><br> 
<b>Address</b>: <textarea name="address" rows="6" cols="30"></textarea> 
<button id="butr" type="submit" class="btn btn-warning">Signup</button> 

enter image description here

后,我输入我的出生日期登记表并点击年龄字段我想,我将其存储在age1变量计算出的年龄为自动更新年龄场,我有它的价值在我的登记表

回答

1

添加一个onchange功能DOB场

<input type="text" onchange="ageCalculation()" name="dob"> 

在0验证码

function ageCalculation(){ 
if(document.age1.dob.value!==""){ 
    var a = document.age1.dob.value; 
    a=new Date(a); 
    age = a.getFullYear(); 
    var curr = new Date(); 
    year = curr.getFullYear(); 
    var age1 = year - age; 
    document.age1.age.value=age1; 
} 
} 
+1

你也应该做的输入的验证,以便它是一个有效的日期,但否则这正是我开始写,但我还是不够快。 :) – Kamelkent

+0

是的。你是正确的:)添加了一个基本的验证:) – Sree

+0

我包括ageCalculation功能,但它不起作用 – pkarthicbz