Можно ли при появлении события сабмит на форме, использовать собственный обработчик чтобы произвести валидацию? Прочитал на форумах - вроде как должно отрабатывать. В итоге отрабатывает частично - если форма заполнена верно и произошел сабмит, то вызовется обработчик, который я передал в виде колбэк. Если же форма заполнена неверно и засабмичена, то мой обработчик не вызовется и браузер отработает по своему. Т.е. никаких вариантов добраться до валидации вручную.
Пробовал сие на г**нокоде, который привожу ниже. Как быть, если я всё таки хочу провести валидацию по событию сабмит на форме?
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form id="form" action="#" method="POST">
<input type="number" min="10">
<button type="submit"></button>
</form>
<script>
var somefun = function () {
console.log('happend');
};
var elementForm = document.querySelector('#form');
elementForm.addEventListener('submit', somefun);
</script>
</body>
</html>
Можно ли при появлении события submit
на форме использовать собственный обработчик, чтобы произвести валидацию?
var elementForm = document.querySelector('#form');
// Нужно поймать событие "e"
elementForm.addEventListener('submit', function(e) {
e.preventDefault(); // Остановить форму от посылки на сервер
//------------------------------------------------------------
// Your validation goes here
console.log('happened');
});
<form id="form" action="#" method="POST">
<input type="number" min="10">
<button type="submit">Submit</button>
</form>
Добавьте в <form>
атрибут onsubmit = "return formValidation()"
, а в функции используйте return true;
для отправки формы на сервер или return false;
для отмены.
function formValidation() {
alert("Валидация формы");
return false;
}
<form id="form" action="#" method="POST" onsubmit="return formValidation()">
<input type="number" min="10">
<button type="submit">Submit</button>
</form>
Для отключения проверки браузером можно воспользоваться атрибутом novalidate
на форме
var somefun = function() {
console.log('happend');
};
var elementForm = document.querySelector('#form');
elementForm.addEventListener('submit', somefun);
<form id="form" action="#" method="POST" novalidate>
<input type="number" min="10">
<button type="submit">btn</button>
</form>
Виртуальный выделенный сервер (VDS) становится отличным выбором
Потестировал платформу NativeScript для создания мобильных приложений на JS/HTML
Испробовал уже несколько вариантов - через float, inline-block и flex, но верстка постоянно едет и возникает проблема с вертикальным выравниваем строк,...
Как можно реализовать при нажатии на ссылку или любой другой элемент css файл менялся на другой или просто смену фона и цвета текста если так...
нужно чтобы при нажатии на одну из трёх ссылок появлялся слайдер с товарамина самом деле он появляется, например если нажать на ссылку "распродажа"...