Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Komunikat po walidacji
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
dareckiphp
Wielka prośba o pilną pomoc w rozwiązaniu problemu.
Zrobiłem pełną walidację formularzy w php. Po wykryciu błędu skrypt wysyła info za pomocą print "...uwaga, błąd"
Czy można jakoś zrobić, aby zamiast kodu php wyświetlającego komunikat wyskakiwało np. okienko alert z tą samą informacją. Nic innego jak okno informacyjne bez klikania na przycisk.

Potrzebuję takiego właśnie rozwiązania, ponieważ nie chcę aby dane wpisane w formularzu ginęły i musiałyby być na nowo wpisywane kiedy w formularzu użytkownik popełni błąd.
Dzięki
kicaj
Poszukaj na stronach z JS

W php mozna tak zrobic zeby, jesli user zrobi blad dane zostaja w formularzu... ja tak robie smile.gif
e4you
  1. <script language="javascript" type="text/javascript">
  2. <!--
  3. function testuj(f) {
  4.  
  5. // pola text i textarea
  6. if (f.txt1.value.length<1) { alert("wypełnij pole 1"); return false; }
  7. if (f.txt2.value.length<1) { alert("wypełnij pole 2"); return false; }
  8.  
  9. // lista rozwijana
  10. if (f.lis1.selectedIndex<1) { alert("wybierz z listy"); return false; }
  11.  
  12. // pole checkbox
  13. if (!f.chx1.checked) { alert("zaznacz checkboxa"); return false; }
  14.  
  15. // pole radio
  16. for (i=0;i<f.rad1.length;i++) if (f.rad1[i].checked) var rad1c=1;
  17. if (rad1c!=1) { alert("zaznacz radio"); return false; }
  18.  
  19.  
  20. return true;
  21. }
  22. // -->
  23.  
  24. <form action="index.php" method="get" onSubmit="return testuj(this);">
  25. pole 1:<br><input type="text" name="txt1"><br>
  26. pole 2:<br><textarea name="txt2"></textarea><br>
  27. <p>
  28. lista 1:<br>
  29. <select name="lis1">
  30. <option>wybierz</option>
  31. <option>opcja 1</option>
  32. <option>opcja 2</option>
  33. <p>
  34. checkbox 1:<br>
  35. <input type="checkbox" value="tak" name="chx1">
  36. zgadzam się na przetwarzanie danych<br>
  37. <p>
  38. radio 1:<br>
  39. Stolicą Polski jest:
  40. <br><input type="radio" name="rad1"> Warszawa
  41. <br><input type="radio" name="rad1"> Szczecin
  42. <br><input type="radio" name="rad1"> Kraków
  43. <p>
  44. <input type="submit" value="wyślij">
  45. </form>
dareckiphp
"...W php mozna tak zrobic zeby, jesli user zrobi blad dane zostaja w formularzu... ja tak robie" - no właśnie wiem że można tak zrobić, ale jak?
Ive
moźesz od razu pod błędem wyświetlić tego samego forma tylko musiszs po prostu dodać value=<? echo $_POST['pole']; ?> i po sprawie ;]
kicaj
Tak tylko na starcie $_POST['pole'] jest puste i wywala blad, trzeba sobie z tym poradzic, np.:

przed wyslaniem formualrza:
$pole = "";
po wyslaniu:
$pole = $_POST['pole'];

Wtedy w formularzu wpisujemy w value="".$pole.""...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.