dareckiphp
11.07.2004, 21:02:26
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
11.07.2004, 22:09:16
Poszukaj na stronach z JS
W php mozna tak zrobic zeby, jesli user zrobi blad dane zostaja w formularzu... ja tak robie
e4you
11.07.2004, 22:51:54
<script language="javascript" type="text/javascript"> <!--
function testuj(f) {
// pola text i textarea
if (f.txt1.value.length<1) { alert("wypełnij pole 1"); return false; }
if (f.txt2.value.length<1) { alert("wypełnij pole 2"); return false; }
// lista rozwijana
if (f.lis1.selectedIndex<1) { alert("wybierz z listy"); return false; }
// pole checkbox
if (!f.chx1.checked) { alert("zaznacz checkboxa"); return false; }
// pole radio
for (i=0;i<f.rad1.length;i++) if (f.rad1[i].checked) var rad1c=1;
if (rad1c!=1) { alert("zaznacz radio"); return false; }
return true;
}
// -->
<form action="index.php" method="get" onSubmit="return testuj(this);"> pole 1:
<br><input type="text" name="txt1"><br><input type="checkbox" value="tak" name="chx1"> zgadzam się na przetwarzanie danych
<br>Stolicą Polski jest:
<br><input type="radio" name="rad1"> Warszawa
<br><input type="radio" name="rad1"> Szczecin
<br><input type="radio" name="rad1"> Kraków
<input type="submit" value="wyślij">
dareckiphp
12.07.2004, 06:40:40
"...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?
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
12.07.2004, 12:53:33
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.