Ну, я не знаю, почему вы хотите, чтобы он запрещал отправку по умолчанию, только когда ВСЕ обязательные поля заполнены IN.
Но, как вы и просили, вы можете использовать метод document.querySelector('form')
.checkValidity () , который проверит, является ли форма действительной. В вашем случае вы можете использовать его следующим образом:
document.getElementById("defaultsub").addEventListener("click", function(event){
if(document.querySelector('form').checkValidity()){
event.preventDefault();
console.log("Prevent default submission");
alert("ALERT!!!!!");
}
})
Это предотвратит отправку формы по умолчанию ТОЛЬКО если форма действительна (AKA, если заполнены все обязательные поля)
РЕДАКТИРОВАТЬ:
Возможно, вам придется запустить checkValidity()
на необходимых элементах INPUT вместо всего элемента FORM для этой работы, что займет немного больше времени для написать.