首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据出生年龄,没有使用javascript显示

问根据出生年龄,没有使用javascript显示
EN

Stack Overflow用户
提问于 2015-04-14 10:23:26
回答 3查看 141关注 0票数 0

​

​

嗨,在下面的代码中,如何显示在选择出生日期后,我要显示的年龄。我的预期输出是上述屏幕截图。现在,当我选择出生日期时,什么也没有发生。

html

代码语言:javascript
复制
<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

代码语言: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);
            }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-14 10:27:34

代码语言:javascript
复制
Onchange="return findage();"

这应该是在第一个输入,而不是第二个!

票数 1
EN

Stack Overflow用户

发布于 2015-04-14 10:31:53

您不会使用您的生日字段触发任何事件,因为您使用的是Onchange而不是onchange,而且您使用它时使用的是年龄文本字段,在数据报头中调用它,这是工作代码:

​

代码语言: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);
  alert(Math.round(months / 12));
            }
代码语言:javascript
复制
<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"  >

​

票数 1
EN

Stack Overflow用户

发布于 2015-04-14 10:39:37

您应该将onchange事件放在“出生日期”输入框中,而不是在“年龄”输入框中。

当您从方框中失去焦点后更改出生日期时,将调用onchange事件。

我给你换好了

代码语言:javascript
复制
<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 >

希望这对你有帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29624899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档