Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: text area, walidowanie
Forum PHP.pl > Forum > Przedszkole
janek123
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. }
Cysiaczek
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
janek123
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 ?
Cysiaczek
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.
janek123
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 ?
phpion
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...
janek123
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.
Rafal Filipek
Tobie potrzebny będzie AJAX. Poszukaj sobie w google.pl co to i jak tego uzywac.
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.