Cześć, problem wydaje się banalny ale coś nie widzę błędu. W skrócie - mam formularz z dwoma polami. Po kliknięciu w submit javascript sprawdza czy wpisano poprawny email oraz czy zadane pytanie ma minimum 10 znaków. Jeśli nie to wyświetla error a jeśli tak to powinno przejść do wysłania formularza. No właśnie, powinno a chyba nie przechodzi, bo nie wykonuje się niz wewnątrz warunku sprawdzającego czy są dane z POST. Czy w js jest jakiś błąd? Dzięki.
if(http://www.php.net/isset($_POST['ask_submit']) && !http://www.php.net/empty($_POST['ask_email']) && !http://www.php.net/empty($_POST['ask_question'])){ http://www.php.net/echo '<h1>JEST</h1>'; //ciąg dalszy itd. }
<http://december.com/html/4/element/form.html id="ask_us" method="POST" name="ask_us" action="index.php"> <http://december.com/html/4/element/label.html for="email">Twój adres email:</http://december.com/html/4/element/label.html> <http://december.com/html/4/element/input.html type="email" id="email" name="ask_email" required><http://december.com/html/4/element/br.html> <http://december.com/html/4/element/label.html for="question">Pytanie do nas:</http://december.com/html/4/element/label.html> <http://december.com/html/4/element/textarea.html id="question" name="ask_question" required></http://december.com/html/4/element/textarea.html><http://december.com/html/4/element/br.html> <http://december.com/html/4/element/input.html type="submit" value="Wyślij zapytanie" name="ask_submit" > </http://december.com/html/4/element/form.html> <http://december.com/html/4/element/div.html id="error-message"></http://december.com/html/4/element/div.html> <http://december.com/html/4/element/script.html> 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.<http://december.com/html/4/element/br.html>"; } 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); } </http://december.com/html/4/element/script.html>
nie
if (errorMessage === "") {
this.submit();
} else {
document.getElementById("error-message").innerHTML = errorMessage;
}
a
if (errorMessage === "") {
return true;
} else {
document.getElementById("error-message").innerHTML = errorMessage;
return false;
}
Elegancko. Dzięki.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)