Как запретить отправку формы если хотя бы одно поле не заполнено?
Самый простой способ тут
UPD
Либо так:
snippet
Во первых для отправки формы используйте button типа submit
<button type="submit" id='btn'>Отправить</button>
Во вторых вешайтесь на событие формы submit это отправка и preventDefault для отмены
типа
document.querySelector("#form").addEventListener("submit",function(e){	
  let isValid = true;
  	 //Какие-то проверки
    if(!isValid)
    	e.preventDefault();//отмена
  });