0
У меня есть javascript, который пытается проверить форму, точнее часть формы «type = date» формы. Но по какой-то причине, когда я отправить форму, она даже не запускать скрипт (я думаю?) И просто идет на страницу, указанную вПроверка Javascript не выполняется при отправке формы
здесь код
<!-- script to make sure only weekdays are selected -->
<script>
var date = document.querySelector('[type=date]');
function noWeekends(e){
var day = new Date(e.target.value).getUTCDay();
// Days in JS range from 0-6 where 0 is Sunday and 6 is Saturday
if(day == 0 || day == 6){
e.target.setCustomValidity('Please select a weekday.');
return false;
} else {
e.target.setCustomValidity('');
}
}
date.addEventListener('input',noWeekends);
</script>
<!--============================================================
=======================form starts here=========================-->
<form action="confirm_booking.php" onsubmit="noWeekends()" method='post'>
<?php
echo "Room: ";
select_room();
?>
week starting: <input type=date name='WeekStart'/>
<input type="submit" value="Book Room">
</form>
Также я не уверен, если это имеет значение, но в теге
Ничто не мешает отправке формы, возврат false в функции слишком поздний – adeneo
Угадайте, что вам не нужно (и не хотите) запускать проверку на отправке, но раньше. И IMHO date.addEventListener («вход», noWeekends); не может работать, как насчет date.addEventListener ('keyup', noWeekends); ? – ddlab