[英]based on date of birth age not displaying using javascript
您好,在下面的代碼中,如何選擇要顯示年齡的出生日期后如何顯示。 我的預期輸出是上面的屏幕截圖。 現在,當我選擇出生日期時,沒有任何反應。
html
<input type="text" name="date_birth1" class="login-input" placeholder="Date Of Birth" id="datepicker11" autofocus>
<input type="text" name="age" id="age" pattern = "^\D{0,100}$" class="login-input" placeholder="Age" Onchange="return findage();" autofocus >
javascript
function findage() {
var PresentDay = new Date();
var dateOfBirth = (new Date(document.getElementById("datepicker11").value));
var months = (PresentDay.getMonth() - dateOfBirth.getMonth() +
(12 * (PresentDay.getFullYear() - dateOfBirth.getFullYear())));
document.getElementById("age").value = Math.round(months / 12);
}
Onchange="return findage();"
這應該在第一個輸入中,而不是第二個中!
您不會在出生日期字段中觸發任何事件,因為您使用的是Onchange
而不是onchange
,並且使用的是age文本字段,請在Onchange
調用它,這是工作代碼:
function findage() { var PresentDay = new Date(); var dateOfBirth = (new Date(document.getElementById("datepicker11").value)); var months = (PresentDay.getMonth() - dateOfBirth.getMonth() + (12 * (PresentDay.getFullYear() - dateOfBirth.getFullYear()))); document.getElementById("age").value = Math.round(months / 12); alert(Math.round(months / 12)); }
<input type="text" name="date_birth1" class="login-input" placeholder="Date Of Birth" id="datepicker11" onchange="findage();" autofocus> <input type="text" name="age" id="age" pattern = "^\\D{0,100}$" class="login-input" placeholder="Age" >
您應該將onchange事件放在出生日期輸入框上,而不要在第一年齡上。
當您從該框失去焦點后更改出生日期時,將調用onchange事件。
在這里,我為你改變了它
<input type="text" name="date_birth1" class="login-input" placeholder="Date Of Birth" id="datepicker11" onchange="findage();" autofocus>
<input type="text" name="age" id="age" pattern = "^\D{0,100}$" class="login-input" placeholder="Age" autofocus >
希望這對您有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.