2017-07-29 3 views
1

日付ピッカーを使用して自分の年齢を自分のフォームに自動的に入力したいと思います。それは自動的に年齢を決定する日付ピッカーを使用して誕生日のフォームに誕生日を置くときにフォームの年齢を自動的に入力する必要があります。たとえば、誕生日が10/17/1996で、今日は7/30/2017なので、フォームは自動的に次のように入力されます: 20年9ヶ月13日。フォームを自動入力して年月日を年齢にするにはどうすればよいですか?

<!--html form--> 
<input type="date" name="birthday"> 10/17/1996 
<input type="text" name="Years"> 20 years 
<input type="text" name="m"> 9 months 
<input type="text" name="d"> 13 days 

<!--script right here--> 
function getAge(dateString) { 
    var today = new Date(); 
    var birthDate = new Date(dateString); 
    var Years = today.getFullYear() - birthDate.getFullYear(); 
    var m = today.getMonth() - birthDate.getMonth(); 
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) { 
     Years--; 
    } 
    return Years; 
} 
+0

あなたは働いていないものについて何かを含める必要があります。結果は何ですか? – Difster

答えて

1

あなたは以下のようにそれを行うことができます: -

$(document).ready(function(){ 
 
    $('input[type="date"]').on('mouseout',function(){ 
 
    getAge($(this).val()); 
 
    }); 
 

 
}); 
 
function getAge(dateString) { 
 
    if(dateString!==''){ 
 
    d1 = new Date(); 
 
    d2 = new Date(dateString); 
 
    diff = new Date(
 
     d1.getFullYear()-d2.getFullYear(), 
 
     d1.getMonth()-d2.getMonth(), 
 
     d1.getDate()-d2.getDate() 
 
    ); 
 
    
 
    $('input[name="Years"]').val(diff.getYear()+" Year(s)"); 
 
    $('input[name="m"]').val(diff.getMonth()+" Month(s)"); 
 
    $('input[name="d"]').val(diff.getDate()+" Day(s)"); 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="date" name="birthday"><br/><br/> 
 
<input type="text" name="Years"><br> 
 
<input type="text" name="m"><br> 
 
<input type="text" name="d"><br>

+0

それは働いた!どうもありがとうございます。 Btw htmlフォームを自動入力するには?年、月、年ごとに別々に?私は方法を見つけることを試みるよBtw :) –

+0

@ JayzdeVeraは、ツリーの異なる入力フィールドに出力することを意味しますか? –

+0

はいどうすればいいですか? document.form.write?そのようなもの –

関連する問題