Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP]Formularz chyba nie przechodzi
sadistic_son
post 14.03.2024, 15:12:48
Post #1





Grupa: Zarejestrowani
Postów: 1 481
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


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.

  1. if(isset($_POST['ask_submit']) && !empty($_POST['ask_email']) && !empty($_POST['ask_question'])){
  2. echo '<h1>JEST</h1>';
  3. //ciąg dalszy itd.
  4. }

  1. <form id="ask_us" method="POST" name="ask_us" action="index.php">
  2. <label for="email">Twój adres email:</label>
  3. <input type="email" id="email" name="ask_email" required><br>
  4. <label for="question">Pytanie do nas:</label>
  5. <textarea id="question" name="ask_question" required></textarea><br>
  6. <input type="submit" value="Wyślij zapytanie" name="ask_submit" >
  7. </form>
  8. <div id="error-message"></div>
  9. document.getElementById("ask_us").addEventListener("submit", function(event) {
  10. event.preventDefault();
  11. var email = document.getElementById("email").value;
  12. var question = document.getElementById("question").value;
  13. var errorMessage = "";
  14.  
  15. if (!validateEmail(email)) {
  16. errorMessage += "Wpisz poprawny adres email.<br>";
  17. }
  18.  
  19. if (question.length < 10) {
  20. errorMessage += "Zadaj pytanie składające się z co najmniej 10 znaków.<br>";
  21. }
  22.  
  23. if (errorMessage === "") {
  24. this.submit();
  25. } else {
  26. document.getElementById("error-message").innerHTML = errorMessage;
  27. }
  28. });
  29.  
  30. function validateEmail(email) {
  31. var re = /\S+@\S+\.\S+/;
  32. return re.test(email);
  33. }



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?

Ten post edytował sadistic_son 14.03.2024, 15:25:15


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
nospor
post 14.03.2024, 17:12:25
Post #2





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




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;
}


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sadistic_son
post 15.03.2024, 09:15:18
Post #3





Grupa: Zarejestrowani
Postów: 1 481
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Elegancko. Dzięki.


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 11:32