-4

私はこのコードを持っています。このコードはユーザーの年齢を計算できる必要があり、提供されたテキスト ボックスに表示する必要があり、ユーザーが生年月日を変更した場合は年齢を変更する必要があります。しかし、このコードは機能しません。計算された年齢がテキスト ボックスに表示されません。

<input name= "date" type="text" readonly="readonly"  />

<select id="Ultra" onchange="run()">  
 <option value="11/15/991">1991-11-15</option>
 <option value="10/23/1992">1992-10-23</option>
</select><br><br>
TextBox1<br>
 <input type="text" id="srt" placeholder="get value on option select"   readonly="readonly"><br>
<script type="text/javascript">
function run() {
  var birth = document.getElementById("Ultra").value;
  var check = new Date();
  var milliDay = 1000 * 60 * 60 * 24;

  var AgeinDay = (check - birth) / milliday;
  var ComputAge = Math.floor(AgeinDay / 365 );
  var age = ComputAge / 365;
  document.getElementById("srt").value = age;
}
 </script>
4

3 に答える 3

2

Here is a look to complete Age Calculation in JavaScript:

<body onload="getAge()">
  <h1 id="age" ></h1>

  <script>
    function calculateAge(dob) {
      var now = new Date();
      var dob = new Date(dob);
      var year=now.getYear()-dob.getYear();
      var month=now.getMonth()-dob.getMonth();
      if(month<0){
        month=now.getMonth()+12-dob.getMonth();
        year=year-1;
      }
      var day=now.getDate()-dob.getDate();
      if(day<0){
        var monthNumber=dob.getMonth();
        var fullDate=getFullDate(monthNumber);
        day=now.getDate()+fullDate-dob.getDate();
        month=month-1;
      }

      return year+" Years, "+month+" Months, "+day+" Days!";
    };
    function getFullDate(x){
      switch(x){
        case 0:
          return 31;
          break;
        case 1:
          return 28;
          break;
        case 2:
          return 31;
          break;
        case 3:
          return 30;
          break;
        case 4:
          return 31;
          break;
        case 5:
          return 30;
          break;
        case 6:
          return 31;
          break;
        case 7:
          return 31;
          break;
        case 8:
          return 30;
          break;
        case 9:
          return 31;
          break;
        case 10:
          return 30;
          break;
        case 11:
          return 31;
      }
    }
    function getAge(){
      x=prompt("Please Enter Your Date of Birth in format (yyyy-mm-dd): ","");
      x=new Date(x);
      document.getElementById("age").innerHTML="Your age is: "+calculateAge(x);
    }
  </script>
</body>

于 2019-02-12T05:52:44.080 に答える
0

これを試して..

function run() {
  var birth = new Date(document.getElementById("Ultra").value);
  var curr  = new Date();
  var diff = curr.getTime() - birth.getTime();
   document.getElementById("srt").value = Math.floor(diff / (1000 * 60 * 60 * 24 * 365.25));
}
于 2013-04-20T23:57:02.353 に答える