2016-07-08 102 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