Javascript: какое событие Dom может быть связано с элементом Input type = date? - PullRequest
0 голосов
/ 12 февраля 2019

Я хочу проверить, не достигли ли пользователи совершеннолетия для работы неполный рабочий день в зависимости от их дня рождения.Это то, что я сделал до сих пор.

<script>
function ageCheck() {
    var date=new Date();
    var year=date.getFullYear();
    var month=date.getMonth()+1;
    var bday=document.getElementById("bday").value;
    var bdayArr=bday.split("-");
    var bYear=bdayArr[0];
    var bMonth=bdayArr[1];
    var bDay=bdayArr[2];
}
</script>

<span class="error">*</span>
<label for="bday">
<span class="register">Birthday</span></label>&nbsp;&nbsp;&nbsp;&nbsp;
<span id="ageInfo"></span>
<input type="date" name="bday" required="required" onblur="ageCheck()">

Ответы [ 3 ]

0 голосов
/ 12 февраля 2019

Я делаю простой пример с вашим html.Вы можете увидеть это здесь: https://stackblitz.com/edit/js-cg131i?embed=1&file=index.html

0 голосов
/ 12 февраля 2019

Если вы хотите использовать onblur, вы можете сделать это следующим образом.

function ageCheck() {
  var bdayString = birthday.value;
  bdayString = bdayString.split("-")
  
  var bdayNumber = [];
  bdayString.map( val =>{
    bdayNumber.push(parseInt(val))
  })
 
  var year = bdayNumber[0];
  var month = bdayNumber[1];
  var day = bdayNumber[2];
  // if legal age is 18
  legalAge = 18;
  if( 2019 - year >= legalAge){
    console.log( true);
  }
}
  <span class="error">*</span>
  <label for="bday"><span class="register">Birthday</span></label>&nbsp;&nbsp;&nbsp;&nbsp;<span id="ageInfo"></span>
  <input type="date" id="birthday" name="bday" required="required" onblur="ageCheck()" vamue="">
0 голосов
/ 12 февраля 2019

Вы можете привязать к событию «input», так как это стандартное событие для события change или copy-paste.Вы должны изменить элемент ввода следующим образом:

<input type="date" name="bday" required="required" oninput="ageCheck(this.value)">

И изменить свою функцию, чтобы получить значение в параметре.

function ageCheck(date) { console.log(date);}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...