0

私のjspコードは次のとおりです:(フィールドを使用した簡単な登録)

 <label>DOB</label></td><td><input type="text" name="dob" /> </td></tr>
 <tr><td>
 <label>AGE</label></td><td><input type="text" name="age" onclick =" ageCount()"/> </td></tr>
 <tr><td>
 <label>GENDER</label></td><td><input type="radio" name="gender" value="Male"/>Male<input    
  type="radio" name="gender" value="Female">Female</td></tr>
 <tr><td>

JS の関数を使用して、生年月日から年齢を計算しました。Dob は SQL 日付形式です。

<script type="text/javascript">
function ageCount(){
var date1 = new date();
var dob = document.getElementById("dob").value;
var date2 = new date(dob);
var pattern = /^\d{1,2}\/\d{1,2}\/\d{4}$/; 
if(pattern.test(dob)){
    var y1 = date1.getFullYear();
    var y2 = date2.getFullYear();
    var age = y1-y2;
    document.write("Age :" +age);
    return true;
}else{
    alert("invalid date fromat.!! Please enter in (DD/MM/YYYY) format");
    return false;
}
     }


     </script>

これをどのように使用すれば、生年月日を入力してタブを押すと、そのフィールドに年齢が表示されるようになります。あなたのアイデアや提案をお寄せください。

4

4 に答える 4

1
<input type="text" name="dob" onBlur="getAge(this.value)"/>
<input type="text" name="age" id="ageId"/>

function getAge(birthDate){

  var birthDate= new Date(birthDate);
   var  currentDate= new Date();

    var years = (otherDate.getFullYear() - birthDate.getFullYear());

    if (currentDate.getMonth() < birthDate.getMonth() || 
        currentDate.getMonth() == birthDate.getMonth() && currentDate.getDate() < birthDate.getDate()) {
        years--;
    }
$('#ageId').val(years);

現在の月が誕生月よりも小さいか等しい場合、現在の日付が生年月日よりも小さい場合、年を減らして値を計算します

于 2013-05-14T07:04:00.787 に答える
1

こんにちは、私の問題に取り組んでくれてありがとう!!

私はあちこちでいくつかの変更を加えて自分で解決しました。

変更されたコード:(必要に応じて他の人を助けるかもしれません)

<script type="text/javascript">
function ageCount() {
    var date1 = new Date();
    var dob = document.getElementById("dob").value;
    var date2 = new Date(dob);
    var pattern = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
    //Regex to validate date format (dd/mm/yyyy)       
    if (pattern.test(dob)) {
        var y1 = date1.getFullYear();
        //getting current year            
        var y2 = date2.getFullYear();
        //getting dob year            
        var age = y1 - y2;
        //calculating age                       
        document.getElementById("ageId").value = age;
        doucment.getElementById("ageId").focus ();
        return true;
    } else {
        alert("Invalid date format. Please Input in (dd/mm/yyyy) format!");
        return false;
    }

}

<tr>
                    <td><label>DOB</label></td>
                    <td><input type="text" name="dob" id="dob"
                        onblur="ageCount()" /></td>
                </tr>
                <tr>
                    <td><label>AGE</label></td>
                    <td><input type="text" name="age" id="ageId" /></td>
                </tr>
于 2013-05-14T09:31:34.423 に答える