DOB コードから多くの Age Validation を見てきましたが、自分のコードで動作するように見えるものはありません。
基本的に、私の TAFE コースでは、名、姓、電子メール アドレス、連絡先電話番号、生年月日、興味のある分野 (児童図書と成人図書のドロップダウン ボックス) を記入したフォームを作成する必要があります。
生年月日が正しい形式であることを確認する必要があります。私はこれを成功させました.30日の月と閏年にも相当します.
次の部分では、送信時に対象者の年齢が 18 歳以上であることを検証するために、[対象地域] ドロップダウン ボックスが必要です。選択した関心領域が成人向けの本である場合のみ。
さて、簡単なことをして、1996 年以降のすべての年齢が拒否されるようにすることもできますが、入力された生年月日からこれを行う検証を作成したいと思います。
DOB は DD/MM/YYYY の形式で入力します。
これは私がこれまでに持っているものです:
<script language="JavaScript" type="text/javascript">
function validateForm()
{
*snipped firstname, surname, email validation*
var dob = document.getElementById("dateofbirth").value;
*snipped dob validation*
var area = document.getElementById("areaofinterest").value;
if (area == "")
{
alert("Please select an Area of Interest!");
return false;
}
var now = new Date();
var birthdate = dob.split("/");
var born = new Date(dob[2], dob[0], dob[1] * 1 - 1);
var age = Math.floor((now.getTime() - born.getTime()) / (365.25 * 24 * 60 * 60 * 1000));
if (area == "adults" && age<18)
{
alert("You need to be 18 years of age and older for the Adults books!");
return false;
}
return true;
}
</script>
私は JavaScript の初心者にすぎないため、このコードには明らかに間違っている部分がある可能性があります。しかし、基本的に書かれていることは、私が達成したいことです。
Adults Books Area of Interest が選択されている場合、生年月日が 18 歳以上かどうかを確認します。
HTML は、私が持っているものの下に表示されます。
<form method="post" name="form1" onsubmit="return validateForm()" action="">
Fields marked with * are required to be filled out!
<br />
First Name*:
<input type="text" id="firstname" name="First Name" placeholder="e.g. John" />
<br />
Surname*:
<input type="text" id="surname" name="Surname" placeholder="e.g. Smith" />
<br />
Email address*:
<input type="text" id="emailaddress" name="Email Address" placeholder="e.g. john.smith@example.com" />
<br />
Contact phone number:
<input type="text" id="phonenumber" name="Contact Phone Number" placeholder="e.g. 0410 224 567" />
<br />
Date of Birth*:
<input type="text" id="dateofbirth" name="Date of Birth" placeholder="DD/MM/YYYY" />
<br />
Area of Interest*:
<select id="areaofinterest" name="Area Of Interest" />
<option value="">Select interest</option>
<option value="children">Books for children</option>
<option value="adults">Books for adults</option>
</select>
<br />
<input type="submit" value="Submit" /><input type="reset" value="Reset" />
</form>
フィードバックをいただければ幸いです。これがすでに回答されている場合は申し訳ありません。私はそれが持っていることを知っていますが、私の目的のためにそれを機能させることはできません。単純なフォーマットの間違いを犯したか、何かを忘れた可能性があります。それはおそらく非常に明白なことです。