Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][JavaScript] Problem z alertem
cusek
post 28.01.2009, 10:23:57
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 22.09.2007

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


Witajcie, mam problem mianowicie alert który wyskakuje po nie wypełnieniu jakiegoś pola na
http://74.54.249.87/cusek/kokon/index.php?strona=kalkulator jest poprawy tylko otwiera on się po przeładowaniu strony jak zrobić aby nie przeładowywał strony?
Kod:
http://www.nopaste.pl/99h
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Method
post 28.01.2009, 11:05:30
Post #2





Grupa: Zarejestrowani
Postów: 177
Pomógł: 6
Dołączył: 14.01.2003
Skąd: Warszawa

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


ekspertem od javyscript nie jestem i unikam jej, ale tak na pierwszy rzut oka to wszystko ladujesz w wielkiego ifa
a "wyjatek" masz taki
  1. else echo "<script type=\"text/javascript\">window.alert('Nie wypełniłes pola w formularzu!');</script>";


wydaje mi się że chcesz zrobić coś takiego co jest opisane tu: http://www.yourhtmlsource.com/javascript/formvalidation.html
może by sie przydalo i to: http://www.javascript-coder.com/html-form/...alidation.phtml


--------------------
"zycia nie mierzy sie liczba oddechow,
ale liczba chwil, ktore zapieraja dech w piersi"
Go to the top of the page
+Quote Post
cusek
post 28.01.2009, 11:17:31
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 22.09.2007

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


mógłbyś mi to jakoś poprawić bo ja wogóle się gubie
Go to the top of the page
+Quote Post
kefirek
post 28.01.2009, 11:20:04
Post #4





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Robisz cos takiego
  1. <?php
  2. if(isset($_POST['submit'])) {
  3.  
  4.  
  5. echo 'Wszystko ok';
  6.  
  7. } else{
  8. <form name='test' method='post' action='".basename($_SERVER['PHP_SELF'])."' onsubmit='return sprawdz(this)'>
  9. <input type='text' name='nr'/>
  10. <input type='text' name='nazwa'/>
  11. <input type='submit' name='submit' value='Zapisz'/>
  12. </form>";
  13.  
  14. echo "<script type='text/javascript'>
  15. function sprawdz(frm) {
  16. if (frm.nr.value==\"\") {
  17.  alert(\"Podaj nr\");
  18.  return false;
  19. }
  20.  if (frm.nazwa.value==\"\") {
  21.  alert(\"Podaj nazwe\");
  22.  return false;
  23. }
  24.  
  25.  
  26. }
  27. </script>\n";
  28. }
  29. ?>


Przyklad dzialania tutaj http://www.gc.boo.pl/test.php
Go to the top of the page
+Quote Post
cusek
post 28.01.2009, 11:22:42
Post #5





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 22.09.2007

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


tak tylko jak to teraz wmontować w tamtego php?
Go to the top of the page
+Quote Post
kefirek
post 28.01.2009, 11:27:13
Post #6





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


O bosz normalnie do <form

Dodajesz onsubmit='return sprawdz(this)'

Potem pod formularzem

  1. <?php
  2. echo "<script type='text/javascript'>
  3. function sprawdz(frm) {
  4. if (frm.nr.value==\"\") {
  5. alert(\"Podaj nr\");
  6. return false;
  7. }
  8.  
  9.  
  10. }
  11. </script>\n";
  12. ?>


Gdzie
Kod
if (frm.nr.value==\"\") {
alert(\"Podaj nr\");
return false;
}


złóży do prawdzenie jednego pola przy czym
Kod
frm.nr.value==\"\")
po frm podajesz nazwe pola i dodajesz to tyle razy ile chcesz pól w formurzu sprawdzać np.

  1. <?php
  2. echo "<script type='text/javascript'>
  3. function sprawdz(frm) {
  4. if (frm.nr.value==\"\") {
  5.  alert(\"Podaj nr\");
  6.  return false;
  7. }
  8.  if (frm.nazwa.value==\"\") {
  9.  alert(\"Podaj nazwe\");
  10.  return false;
  11. }
  12.  if (frm.nazwainna.value==\"\") {
  13.  alert(\"Podaj nazwe\");
  14.  return false;
  15. }
  16.  if (frm.jaksnazwa.value==\"\") {
  17.  alert(\"Podaj nazwe\");
  18.  return false;
  19. }
  20.  
  21.  if (frm.jeszczeinana.value==\"\") {
  22.  alert(\"Podaj nazwe\");
  23.  return false;
  24. }
  25.  
  26.  
  27.  
  28.  
  29. }
  30. </script>\n";
  31. ?>


Łatwiej wytłumaczyć nie umiem.

Ten post edytował kefirek 28.01.2009, 11:27:54
Go to the top of the page
+Quote Post
cusek
post 28.01.2009, 11:39:48
Post #7





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 22.09.2007

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


ten sposób mi nie odpowiada, dlatego że on będzie sprawdzał każde pole i każdy błąd inna etykieta, ten alert który ja dostaje jest dobry ale odświeża stronę da się to jakoś przerobić?
Go to the top of the page
+Quote Post
nospor
post 28.01.2009, 11:41:35
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@cusek to zamiast walic za kazdym razem alerta to zrob jednego zbiorczego. No wysil sie chlopie.... dostalek kod co dziala git, wystarczy ze dopasujesz sobie


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kefirek
post 28.01.2009, 11:46:59
Post #9





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


O bosz w czym problem zrób tak będzie sprawdzać wszystkie naraz
  1. <?php
  2. echo "<script type='text/javascript'>
  3. function sprawdz(frm) {
  4. if (frm.nr.value==\"\" || frm.nazwa.value==\"\") {
  5.  alert(\"Wypelnij wszystkie pola\");
  6.  return false;
  7. }
  8.  
  9.  
  10.  
  11. }
  12. </script>\n";
  13. ?>


Ten post edytował kefirek 28.01.2009, 11:47:19
Go to the top of the page
+Quote Post
cusek
post 28.01.2009, 11:56:40
Post #10





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 22.09.2007

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


jestem w tym słaby więc proszę mnie tak nie gnoić:) obiecuje naukę po skończeniu tej strony.
Wkleiłem to tak
Kod
// zmienna $header zawiera przede wszystkim adres zwrotny
    $header = "From: $_POST[imie] <$_POST[email]>";
    //zmienna $temat w której b&ecirc;dzie zawartoœ&aelig; tematu wiadomoœci
    $temat = "Formularz obliczenia składki od $_POST[imie], $_POST[email]";
    // funkcja mail() za pomocą której wiadomoœ&aelig; zostanie wys&sup3;ana
    @mail("cusek92@gmail.com",$temat, $message, $header)
    or die('</br>Nie udało się obliczyć składki powiadom administratora serwisu<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>');
[b]    echo "<script type='text/javascript'>
function sprawdz(frm) {
if (frm.nr.value==\"\" || frm.nazwa.value==\"\") {
alert(\"Wypelnij wszystkie pola\");
return false;
}



}
</script>\n";[/b]
    echo "<div align=\"center\"><strong><br/>Dane zostały wysłane do naszego agenta, który skontaktuje się z Tobš z gotowš ofertš.<br/></br><br/>Jednak już teraz wiesz że twoja składka wynosić będzie:</br><br/>Xzł przy 6 miesišcach,<br/><br/>xzł przy 12 miesišcach.<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/></strong></div>";


i po kliknięciu "dalej" dostaje pustą stronę.

Ten post edytował cusek 28.01.2009, 12:04:30
Go to the top of the page
+Quote Post
erix
post 28.01.2009, 21:26:27
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
jestem w tym słaby więc proszę mnie tak nie gnoić:) obiecuje naukę po skończeniu tej strony.

Trzeba było na odwrót zrobić. tongue.gif Teraz to wszystko wychodzi...

Mógłbyś używać innego bbcode, specjalnie dla PHP, bo ciężko kod czytać.

A co do problemu:
Cytat
jest poprawy tylko otwiera on się po przeładowaniu strony jak zrobić aby nie przeładowywał strony?

Nie masz na tamtej stronie funkcji sprawdz; czasem popatrz, co pluje konsola błędów przeglądarki.

Ad. pustej strony: wywal małpiszona sprzed mail" title="Zobacz w manualu PHP" target="_manual; najlepiej zapomnij o jego istnieniu i błędy łap przez własny handler, bo z zoo w kodzie baboli nie znajdziesz. winksmiley.jpg Małpy Ci je schowają.

Użyj jakiegoś porządnego IDE do PHP, aby Ci składnię sprawdził, bo na bank gdzieś masz błąd w składni.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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: 24.07.2025 - 17:52