Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JS] otwieranie nowej stronie po "submit" + formularz
Forum PHP.pl > Forum > PHP
cybul7
Witam.

Mam formularz w którym jest kilka pól.
JavaScript sprawdza czy wszystkie pola są wypełnione, jeśli nie to daje odpowiedni alert, jeśli są to wyświetla alert z podziękowaniem za wypełnienie.
Następnie po kliknięciu w alercie "OK" otwiera się nowa czysta strona.
Chciałbym aby w przypadku nie wypełnienia pola po kliknięciu OK w alercie, alert zniknął i można było uzupełnić lub edytować to co się wpisało.
W przypadku poprawnego wypełnienia po kliknięciu OK, chce aby otworzyła się strona domowa.

Kod:

  1. <script>
  2. function spr()
  3. {
  4. var formularz=document.forms[0];
  5. if(document.getElementById('check1').checked && document.getElementById('check2').checked && document.getElementById('check3').checked && document.getElementById('check4').checked && document.getElementById('check5').checked && document.getElementById('check6').checked && document.getElementById('check7').checked)
  6. {
  7. alert('Dziękujemy za wypełnienie formularza!');
  8. formularz.submit();
  9. }
  10. else alert('Wybierz działy i/lub uzupełnij wymagane pola!')
  11.  
  12. }
  13. </script>
  14.  
  15. <center>
  16.  
  17. <?php
  18. $adresy = array('xxxx@xxxx','xxxx@xxxx','xxxx@xxxx');
  19. if (empty($_POST['submit']))
  20. {
  21.  
  22. echo "<table border=\"0\" width=\"330\" cellpadding=\"2\" cellspacing=\"0\"><form action=\"\" method=\"post\">";
  23. echo "<tr><td align=\"ledt\"><b>Treść zapytania:<br/></b></td></tr>";
  24.  
  25. <tr>
  26.  
  27. <td><input type=checkbox name="mails[]" value=0 id="check1"> Dział12
  28. <br/><input type=checkbox name="mails[]" value=1 id="check2"> Dział2
  29. <br/><input type=checkbox name="mails[]" value=2 id="check3"> Dział2
  30. </td><br/></tr>
  31. </table>
  32. ';
  33.  
  34. echo "<table border=\"0\" width=\"330\" cellpadding=\"2\" cellspacing=\"0\">
  35.  
  36. <tr>
  37. <textarea name=\"tresc\" style=\"width: 330px; height: 100px\"></textarea>
  38. </tr>
  39.  
  40. <td><b>Twoje dane:</b></td>";
  41. echo " <td align=\"right\"><span style=COLOR:red>pola obowiązkowe *&nbsp;&nbsp;&nbsp;</span></td><br/>";
  42. <tr>
  43. <td width=\"120\" align=\"right\">imię i nazwisko </td>
  44. <td><input type=\"text\" name=\"imie_nazwisko\" id=\"check4\" style=\"width: 180px\">"; echo "<span style=COLOR:red> *</span>";
  45. </td></tr><tr>
  46.  
  47. <td width=\"120\" align=\"right\">nazwa firmy </td>
  48.  
  49. <td><input type=\"text\" name=\"nazwa_firmy\" style=\"width: 180px\"></td>
  50. </tr>
  51. <tr>
  52. <td width=\"120\" align=\"right\">miejscowość </td>
  53. <td><input type=\"text\" name=\"miejscowosc\" id=\"check5\" style=\"width: 180px\">"; echo "<span style=COLOR:red> *</span>";
  54. </td></tr><tr>
  55. <td width=\"120\" align=\"right\">e-mail </td>
  56. <td><input type=\"text\" name=\"email\" id=\"check6\" style=\"width: 180px\">"; echo "<span style=COLOR:red> *</span>";
  57. </td></tr><tr>
  58. <td width=\"120\" align=\"right\">nr telefonu </td>
  59. <td><input type=\"text\" name=\"nr_telefonu\" id=\"check7\" style=\"width: 180px\">"; echo "<span style=COLOR:red> *</span>";
  60. </td></tr><tr>
  61. <td width=\"120\" align=\"right\">fax </td>
  62. <td><input type=\"text\" name=\"fax\" style=\"width: 180px\"></td>
  63. </tr><tr><td align=\"right\">
  64. <input type=\"submit\" name=\"submit\" value=\"Wyślij\" onclick=\"spr()\">
  65.  
  66. </td>
  67.  
  68. <td>
  69. <input type=\"reset\" value=\"Wyczyść\"></td></form>
  70. </tr>
  71. </table>";
  72. }
  73.  
  74. elseif (!empty($_POST['tresc']) &&!empty($_POST['imie_nazwisko']) && !empty($_POST['miejscowosc']) && !empty($_POST['email']) && !empty($_POST['nr_telefonu']))
  75. {
  76. $mails = $_POST['mails'];
  77. $message = 'Nadesłał: '.$_POST['imie_nazwisko']."\nFirma: ".$_POST['nazwa_firmy']."\nMiejscowość: ".$_POST['miejscowosc']."\nE-mail: ".$_POST['email']."\nNumer telefonu: ".$_POST['numer_telefonu']."\nFax: ".$_POST['fax']."\nZapytanie: ".$_POST['tresc'];
  78. $header = "From: $_POST[nazwa_firmy] <$_POST[email]>" . "\r\n" . 'Content-Type: text/plain; charset="UTF-8"';
  79.  
  80.  
  81. foreach ($_POST['mails'] as $id)
  82. {
  83. @mail($adresy[$id],"Zapytanie ofertowe","$message","$header") or die('Nie udało się wysłać wiadomości');
  84. }
  85. echo "Dziękujemy!<br/>Wiadomość została wysłana poprawnie, wkrótce skontaktujemy się z Tobą!";
  86. }
  87. else echo "TEKST NA STRONIE KTÓRA SIĘ OTWORZY PO KLIKNIECIU OK";
  88.  
  89.  
  90. ?>
  91. </center>
  92.  
  93. {/source}
thek
Poczytaj więc o użyciu "return false" w skrypcie, które to działanie może zatrzymać submit w razie błędu smile.gif
cybul7
Powrót na jakąś stronę zrobiłem za pomocą:

  1. header('Location: <a href="http://strona....&#39%3b%29;" target="_blank">http://strona....');</a>


Tyle, że to spełnia założenia w przypadku poprawności wpisania danych.
Zaraz poczytam o tym co napisałeś.
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.