//ciąg dalszy itd. }
<form id="ask_us" method="POST" name="ask_us" action="index.php"> <input type="submit" value="Wyślij zapytanie" name="ask_submit" > </form> <script> document.getElementById("ask_us").addEventListener("submit", function(event) { event.preventDefault(); var email = document.getElementById("email").value; var question = document.getElementById("question").value; var errorMessage = ""; if (!validateEmail(email)) { errorMessage += "Wpisz poprawny adres email.<br>"; } if (question.length < 10) { errorMessage += "Zadaj pytanie składające się z co najmniej 10 znaków.<br>"; } if (errorMessage === "") { this.submit(); } else { document.getElementById("error-message").innerHTML = errorMessage; } }); function validateEmail(email) { var re = /\S+@\S+\.\S+/; return re.test(email); } </script>
EDIT: Jeśli usunę if(isset($_POST['ask_submit'])) a zostawię resztę warunku, tj !empty(...) to wtedy działa. Co ten js wyprawia z tym submitem? Zabiera mu default behavior ale po sprawdzeniu poprawności danych oddaje, więc formularz powinien przejść prawda?