Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Czyszczenie formularza po wysłaniu danych
S_Olewniczak
post 28.01.2008, 19:45:31
Post #1





Grupa: Zarejestrowani
Postów: 189
Pomógł: 1
Dołączył: 28.01.2008

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


Nie wiem jak zrobić, żeby po wysłaniu danych do bazy formularz czyścił mi się automatycznie. Czy ktoś może wie jak to rozwiązać?
Go to the top of the page
+Quote Post
Grzyw
post 28.01.2008, 20:05:06
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 75
Dołączył: 19.08.2004
Skąd: Wrocław

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


Wysyłasz go przez AJAX?


--------------------
Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
Go to the top of the page
+Quote Post
arecki
post 28.01.2008, 20:42:21
Post #3





Grupa: Zarejestrowani
Postów: 222
Pomógł: 35
Dołączył: 6.02.2005

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


Jeżeli chodzi o odpowiedź na pytanie to odpowiem że JA wiem smile.gif. Napisz w jaki sposób wysyłasz dane do bazy z formularza a nakieruje Cię na rozwiązanie smile.gif


--------------------
Go to the top of the page
+Quote Post
potreb
post 28.01.2008, 20:52:52
Post #4





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Wysyłając ajaxem i tak nie zapamięta, więc po co te pytania.


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

Go to the top of the page
+Quote Post
arecki
post 28.01.2008, 20:55:14
Post #5





Grupa: Zarejestrowani
Postów: 222
Pomógł: 35
Dołączył: 6.02.2005

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


Jak sobie oprogramujesz to zapamięta smile.gif A pytania są po to aby bardziej mu pomóc smile.gif


--------------------
Go to the top of the page
+Quote Post
smietek
post 28.01.2008, 20:56:28
Post #6





Grupa: Zarejestrowani
Postów: 306
Pomógł: 32
Dołączył: 20.01.2008

Ostrzeżenie: (20%)
X----


Jeżeli używasz formularza z HTML, gdy już wykorzystasz dane, przed pokazaniem od nowa formularzu wpisujesz takie coś:
  1. <?php
  2. unset($_POST[nazwa_pola]);
  3. ?>

I tak dla każdego pola.

Jeżeli to ewentualnie nie zadziała (chociaż u mnie działa) możesz też po prostu wstawić do zmiennej $_POST[nazwa_pola] pusty string, czyli:
  1. <?php
  2. $_POST[nazwa_pola] = "";
  3. ?>


Ten post edytował smietek 28.01.2008, 20:59:01


--------------------
Go to the top of the page
+Quote Post
S_Olewniczak
post 28.01.2008, 21:17:50
Post #7





Grupa: Zarejestrowani
Postów: 189
Pomógł: 1
Dołączył: 28.01.2008

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


Arecki do wysyłania danych z formularza używam następującego kodu:

Kod
print '<div class="naglowek"><b>Klienci</b></div><br>';
print '<div class="naglowekpod"><b>&nbsp;&nbsp;&nbsp;Nowy klient:</b></div><br>';
print '<table cellspacing="10" cellpadding="5" border="0"><tr><td><table cellspacing="10" cellpadding="10" border="1" class="tabela"><tr><td><table cellspacing="10" cellpadding="10" border="1" class="tabela"><form action="prawa.php?akcja=klient" method="POST" onsubmit="nazwaformy.submit();nazwaformy.reset();return false;"><input type="hidden" name="co" value="dodaj"><tr><td><div class="zwyklytekst">Nip: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="nip" size="15" value="'.$_POST['nip'].'"></div><br><div class="zwyklytekst">Nazwa:* <input type="text" name="nazwa" size="15"></div><br><div class="zwyklytekst">Telefon: &nbsp;&nbsp;<input type="text" name="telefon" size="15" value="'.$_POST['telefon'].'"></div><br><div class="zwyklytekst">E-mail: &nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="email" size="15" value="'.$_POST['email'].'"></div><br><div align="right"><input type="submit" value="Zatwierdź"></div></td></tr></form></table></td></tr></table></td></tr></table>';
print '<div class="zwyklytekst">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pola oznaczone * są wymagane.</div>';
if ($_POST['co'] == 'dodaj') {
if ($_POST['nazwa']) {
  $query = "INSERT INTO klienci (nip, nazwa_klienta, telefon_klienta, email) VALUES ('".$_POST['nip']."', '".$_POST['nazwa']."', '".$_POST['telefon']."', '".$_POST['email']."')";
  $wynik = mysql_query ($query);
} else {
print '<script language="JavaScript"><!--
alert("Nie uzupełniono wszystkich pól oznaczonych *. Pola oznaczone * są wymagane.")
//--></script>';
}

Chcę żeby w razie nie uzupełnienia pola "Nazwa" JavaScript zwróciła komunikat o tym braku i pozostałe pola zachowały swoją wartość. Za to po uzupełnieniu pola "Nazwa" wszystkie wartości powinny być dodane do bazy, a cały formularz wyczyścił się.
Go to the top of the page
+Quote Post
arecki
post 29.01.2008, 20:32:23
Post #8





Grupa: Zarejestrowani
Postów: 222
Pomógł: 35
Dołączył: 6.02.2005

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


Po pierwsze dodaj do <form> atrybut "name" żeby się można było łatwiej odwoływać do niego (no chyba że chcesz się odwoływać po indexach formularzy ale łatwiej jest wtedy się zgubić). Po drugie na zdarzenie onsubmit dodaj sprawdzanie czy dane pole jest wypełnione, czyli coś takiego (z głowy więc nie gwarantuje że działa):
  1. <form name="doWyslania" action="cos.php" method="post"
  2. onsubmit="if(document.forms['doWyslania'].elements['nazwa'].value) { document.forms['doWyslania'].submit(); } else { alert('wypełnij pole nazwa'); return false; } ">


--------------------
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: 28.06.2025 - 02:30