Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][JavaScript] Problem z alertem
cusek
post
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
Method
post
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
Go to the top of the page
+Quote Post
cusek
post
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
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
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
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
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
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
Go to the top of the page
+Quote Post
kefirek
post
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
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
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ć. (IMG:http://forum.php.pl/style_emoticons/default/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. (IMG:http://forum.php.pl/style_emoticons/default/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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 22:28