Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> text area, walidowanie
janek123
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 8.07.2006

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


1. W poniższym formularzu, okno textarea nie jest puste na starcie. Są 2 (?) tabulacje. Jak zainicjalizować wartość startową na "" ?


  1. <form action="" method="POST" name ="form_ogloszenie_o_zakupie">
  2. <font size =2>
  3.  
  4. <!-- Tabela wyboru rodzaju ogłoszenia - radio buttony zakup - sprzedaż -->
  5. <table cellspacing="10" cellpadding="0" border="0">
  6. <tr valign="top">
  7. <td align="right" width="70%">
  8. zakup : <input type="radio" name="radio_zak_sp" value="zakup" tabindex="0">
  9. </td>
  10. <td>
  11. sprzedaż : <input type="radio" name="radio_zak_sp" value="sprzedaz" checked>
  12. </td>
  13. </tr>
  14. </table>
  15. <!-- Koniec tabeli wyboru rodzaju ogłoszenia -->
  16.  
  17. <textarea name="tekst_ogloszenia" cols="55" rows="10" wrap="physical">
  18.  
  19. <!-- Tabela danych kontaktowych w komórce treści -->
  20. <table cellspacing="8" cellpadding="0" border="0"><br>
  21. <caption>Dane Kontaktowe <small><br>
  22. (podaj co najmniej jedną formę kontaktu)</small></caption>
  23.  
  24. <tr valign="top">
  25. <td align="right">
  26. Adres poczty elektronicznej :
  27. </td>
  28. <td>
  29. <input type="text" name="e_mail" value="" size="30" align="middle">
  30. </td>
  31.  
  32. <tr valign="top">
  33. <td align="right">
  34. Numer telefonu :
  35. </td>
  36. <td>
  37. <input type="text" name="numer_telefonu" value="" size="" >
  38. </td>
  39. </tr>
  40.  
  41. <tr>
  42. <td align="right">
  43. Numer gg : <br>
  44. </td>
  45. <td>
  46. <input type="text" name="numer_gg" value="" size="" >
  47. </td>
  48. </tr>
  49.  
  50. </table> <!-- Koniec tabeli danych kontaktowych -->



2. Waliduję pola textarea, oraz dane kontaktowe. Alert() pamięta to co było w poprzednim stanie pól, a nie obecnie.

  1. $buf_tekst = $_POST['tekst_ogloszenia'];
  2. $buf_e_mail = $_POST['e_mail'];
  3. $buf_numer_telefonu = $_POST['numer_telefonu'];
  4. $buf_numer_gg = $_POST['numer_gg'];
  5.  
  6.  
  7. if($buf_tekst == "")
  8. {
  9. echo ' alert("Nie można zapisać pustego ogłoszenia"); ';
  10. return -1;
  11. }
  12. if ($buf_e_mail == "" and $buf_numer_telefonu == "" and $buf_numer_gg == "")
  13. {
  14. echo ' alert("Podaj co najmniej jedną formę kontaktu"); ';
  15. return -2;
  16. }


Ten post edytował janek123 2.09.2006, 09:53:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Przecież nawet sam napisałeś, że pokazuje tabulacje, a co Ty zrobiłeś w kodzie pomiędzy tagiem otwierającym a zamykającym? laugh.gif

Ten post edytował Cysiaczek 2.09.2006, 06:46:08


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
janek123
post
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 8.07.2006

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


Ad. Tabulacja:
No tak, dziękuję.

Pozostał mi jeszcze drugi problem - alert wyświetla dane z poprzedniego stanu wprowadzenia danych.

Jak to naprawić ?

A może to oznacza, że funkcja na onclick wykonywana jest wcześnej niż wysyłane są dane z formularza ?
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Hmm... tylko nie bardzo wiem, gdzie ten fragment kodu php jest wykonywany. Wewnątrz funkcji JS? Czy od razu w dokumencie? Alert niczego nie może pamiętać. Podaj więcej szczegółów.

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
janek123
post
Post #5





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 8.07.2006

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


Na onclick jest takaj fukcja, a sprawdzanie jest w 'zapisz_oferte()'

Kod
<script type="text/javascript" language="JavaScript">

function zapisz_oferte_do_bazy()
{
<?php
$db = otworz_baze("localhost", "root", "root", "baza");
$wynik = zapisz_oferte ($db);
zamknij_baze($db);
?>

}
</script>


Już wiem, że JS (onClick) wykonuje sie odrazu po kliknieciu. Jesli funkcja zwroci true to dopiero nastepuje wyslanie zmiennych z formularza .

Może moja metoda walidacji jest zbyt zawikłana ?
Go to the top of the page
+Quote Post
phpion
post
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Wow, dosc ciekawe rozwiazanie funkcji zapisz_oferte_do_bazy(). Dziala ci to? smile.gif Tak naprawde ta funkcja (w js) nic nie robi. Spojrz sobie w zrodlo strony, cialo tej funkcji powinno byc puste...
Go to the top of the page
+Quote Post
janek123
post
Post #7





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 8.07.2006

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


Rzeczywiście, ciało fcji jest prawie puste. Jest tylko jeden alert:

Kod
<script type="text/javascript" language="JavaScript">

function zapisz_oferte_do_bazy()
{
alert("Nie można zapisać pustego ogłoszenia");
}
</script>


ale gdzie zginął mi drugi, tzn.:
echo ' alert("Podaj co najmniej jedną formę kontaktu"); '; ?


Taką fcję function zapisz_oferte_do_bazy()
zrobiłem, bo nie wiem jak wywoałć z butona (onclick) fcji php.
Go to the top of the page
+Quote Post
Rafal Filipek
post
Post #8





Grupa: Zarejestrowani
Postów: 274
Pomógł: 54
Dołączył: 2.05.2006
Skąd: Nadarzyn

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


Tobie potrzebny będzie AJAX. Poszukaj sobie w google.pl co to i jak tego uzywac.
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 Aktualny czas: 21.08.2025 - 14:02