gpt4 book ai didi

javascript - 如何根据 FireFox 中的月/日/年下拉列表获取年龄

转载 作者:行者123 更新时间:2023-12-02 23:23:10 25 4
gpt4 key购买 nike

我试图根据用户在下拉列表中输入的月份日期和年份字段来获取用户的年龄。这在 Chrome 和其他浏览器中有效,但在 Firefox 中我收到无效日期错误:

jQuery('#cons_birth_date_YEAR,#cons_birth_date_MONTH,#cons_birth_date_DAY').on('change',function(){

var selectedYear=$('#cons_birth_date_YEAR').find('option:selected').val();
var selectedDay=$('#cons_birth_date_DAY').find('option:selected').val();
var selectedMonth=$('#cons_birth_date_MONTH').find('option:selected').val();

if(selectedYear!=0 && selectedMonth!=0 && selectedDay!=0)
{

var today = new Date();
var dob=new Date(selectedDay+"/"+selectedMonth+"/"+selectedYear);
console.log(dob);
var age = new Date(today - dob).getFullYear() -1970;
$("#age").val(age);
}


if (age < 13) {
alert('under 13');

}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<fieldset>
<legend>

<span class="aural-only cons_dob"></span>
<span class="input-label survey-question-label cons_dob">Date of Birth:</span>
</legend>
<span class="input-container">
<span id="cons_birth_date_date" title="Date:">

<select name="cons_birth_date_MONTH" id="cons_birth_date_MONTH" title="Month">


<option value="0">Month

</option>

<option value="1" selected="selected">Jan</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
<option value="4">Apr</option>
<option value="5">May</option>
<option value="6">Jun</option>
<option value="7">Jul</option>
<option value="8">Aug</option>
<option value="9">Sep</option>
<option value="10">Oct</option>
<option value="11">Nov</option>
<option value="12">Dec</option>
</select>

<select name="cons_birth_date_DAY" id="cons_birth_date_DAY" title="Day">


<option value="0">Day

</option>

<option value="1">1</option>
<option value="2" selected="selected">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>

<select name="cons_birth_date_YEAR" id="cons_birth_date_YEAR" title="Year">


<option value="0">Year

</option>

<option value="1997" selected="selected">1997</option>
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000">2000</option>
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>


</select>
</span>
</span>
</fieldset>

如果用户未满 13 岁,此脚本会添加警报。这在 Chrome 中有效,但在 Firefox 中,下面的行返回错误:无效日期

var dob=new Date(selectedDay+"/"+selectedMonth+"/"+selectedYear);

最佳答案

试试这个:

 var dateSTR = "2019-07-02";
var dob = new Date(dateSTR.replace(/-/g,"/"));

您可以read this并检查交叉浏览问题。

关于javascript - 如何根据 FireFox 中的月/日/年下拉列表获取年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56857135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com