2

HTML 5、CSS、JavaScript、JQuery を使用して Web アプリケーションを作成します。

今日の日付を生成するために、新しい Date() 関数を使用しました。ユーザーが自分の生年月日を選択できるようにするために、JQuery の "datepicker" 関数も使用しました。これらは両方とも完全に機能しています。

私が欲しいのは、生年月日が選択されたときに年齢を計算することです。日付と生年月日に依存する年齢を計算する関数を含めましたが、画面に数値を返すことはできません。これは以下で見ることができます。

<tr>
    <td>Age:</td>
    <!--td><input type="text" id="age" /></td-->
    <td> 
            <script type = "text/javascript">
        var date = document.getElementById("adDate").value
        var dob = document.getElementById("datepicker").value
        var pattern = /^\d{1,2}\/\d{1,2}\/\d{4}$/
        if (pattern. test(dob)) {
            var currentYear = date.getFullYear()
            var birthYear = date.getFullYear()
            var age = currentYear - birthYear
            document.write(age)
        } 
        </script>
    <td>
</tr>

オンラインでソリューションを検索しましたが、基本的な JavaScript の年齢計算しか取得できません。どんな助けでも大歓迎です。

どうもありがとう。

いくつかの変更を適用しようとしたので、役に立ちませんでした。以下に示すJSを更新しました。

var date = document.getElementById("adDate").value
var dob = document.getElementById("datepicker").value
var pattern = /^\d{1,2}\/\d{1,2}\/\d{4}$/
if (pattern. test(dob)) {
    var currentYear = new Date(date).getFullYear()
    var birthYear = new Date(dob).getFullYear()
    var age = currentYear - birthYear

    var spanAge = document.getElementById("age")
    spanAge.innerHTML = age
} 

また、HTML。

<tr>
    <td>Age:</td>
    <td><span id="age"></span></td>
</tr>

DOBを生成するために日付ピッカーを使用することと関係があるに違いありません。onSelect 関数を適用しようとしましたが、何も機能していないようです。

他にアドバイスはありますか?

4

3 に答える 3

0

有効な Date オブジェクトを作成していることを確認する必要があります。UI 要素から値を渡すことができます。

var currentYear = new Date().getFullYear()            
var birthYear = new Date('5/6/1987').getFullYear()             
var age = currentYear - birthYear             
于 2013-01-28T22:22:03.467 に答える
0

コードを修正します。

var currentYear = new Date(date).getFullYear()
var birthYear = new Date(dob).getFullYear()

表のセルを復元します。

<td><span id="age"></span></td>

そして、document.write の代わりにこれを使用します:

// document.write(age) // Remove this line.
var spanAge = document.getElementById("age")
spanAge.innerHTML = age

ここでシミュレーション:

http://jsfiddle.net/dEaae/1/

于 2013-01-28T22:22:58.007 に答える
-2

結果を表示する html 要素を選択する必要があります

元:

            <div id = "printHere"></div>

             <tr>
<td>Age:</td>
<!--td><input type="text" id="age" /></td-->
<td> 
        <script type = "text/javascript">
         //assuming you have "age" here

          //using jquery
          $("#printHere").html(age);
    } 
    </script>
<td>

于 2013-01-28T22:22:01.607 に答える