Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/ajax] zastapienie formularza komunikatem
Forum PHP.pl > Forum > Przedszkole
hhg
aktualny stan plikow nizej
b_chmura
funkcję "sprawdz();" wywołaj w body w onLoad=""
nexis
Zamień:

na:
  1. <body onload="sprawdz()">



I zmień:
  1. <input type="submit" value="wyślij" name="submit" onsubmit="sprawdz();">

na:
  1. <input type="submit" name="submit" value="wyślij" />
hhg
dzieki, niestety po dwukrotnym blednym wywolaniu formularza dostaje biala strone bez tla juz, poniewaz po pierwszym przeslaniu formularza polu submit nie ma juz zdarzenia onclick w JS wiec nastepuje normalne przeslanie formularza... jak temu zaradzic?

aktualny stan plikow:

form.html:
Kod
    <p class="para">Czekam na pytania, uwagi, sugestie dot. strony i Isengard.
    
    <form action="send.php" method="post" id ="the_form">
        <table cellspacing="0" cellpadding="1" border="0" align="center" width="95%">
        <tr>
            <td width="20%" valign="bottom" nowrap>
                <p align="right" class="para">temat:</p>
            </td>
            <td width="80%" align="left">
                <input type="text" size="30" maxlength="50" name="temat" style="width:200px;">
            </td>
        </tr>
        <tr>
            <td width="20%" valign="bottom" nowrap>
                <p align="right" class="para">e-mail nadawcy:</p>
            </td>
            <td width="80%" align="left">
                <input type="text" size="30" maxlength="50" name="email" style="width:200px;">
            </td>
        </tr>
        <tr>
            <td width="20%" valign="bottom" nowrap class="underline">
                <p align="right" class="para">treść wiadomości:<br><br><br><br><br><br><br><br><br><br></p>
            </td>
            <td width="80%" align="left" class="underline">
                <textarea name="tresc" style="width:431px; " rows="10" cols="50"></textarea>
            </td>
        </tr>
        <tr>
            <td align="center" colspan="2">
            <input type="submit" name="submit" value="wyślij" /> <INPUT TYPE="reset" VALUE="wyczyść">
            </td>
        </tr>
        </table>
    </form>



mail.php:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3.  
  4. <head>
  5. <meta http-equiv="Content-Language" content="pl">
  6. <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  7. <link rel="stylesheet" href="style.css" type="text/css">
  8. <title>kontakt via e-mail</title>
  9.  
  10.  
  11. <script type="text/javascript" src="advajax.js"></script>
  12.  
  13. <script type="text/javascript">
  14. function sprawdz() {
  15. advAJAX.assign(document.getElementById("the_form"), {
  16.  
  17. onSuccess : function(obj) {
  18. var element = document.getElementById("wynik");
  19. element.innerHTML = obj.responseText;
  20. },
  21. headers : {
  22. "content-type" : "text/html; charset=iso-8859-2",
  23. "content-language" : "pl"
  24. }
  25. });
  26.  
  27. return false;
  28. }
  29. </script>
  30.  
  31. </head>
  32.  
  33. <body bgcolor="black" onload="sprawdz()"><br>
  34.  
  35. <div id = "wynik">
  36.  
  37. <?php include('form.html'); ?>
  38.  
  39. </div>
  40.  
  41. <p class="para" align="left">&nbsp;<a href="javascript:window.close();" class="genmed">Zamknij Okno</a></p>
  42. </body>
  43. </html>


send.php

  1. <?php
  2.  
  3.  
  4. header('Content-type: text/html; charset=iso-8859-2');
  5.  
  6. #Pobieranie adresu IP
  7. $ip=$_SERVER['REMOTE_ADDR'];
  8. #Pobieranie serwera
  9. $host=gethostbyaddr($ip);
  10. #Pobieranie adresu strony
  11. $document=$_SERVER['HTTP_REFERER'];
  12.  
  13.  
  14. # temat
  15. if (empty($_POST['temat'])) {
  16. $te = FALSE;
  17. $message .= 'Zapomnia�e� poda� temat wiadomo�ci.' . '<br />';
  18. $bg[1] = ' background-color: #C0C0C0; color: black';
  19. } else {
  20. $te = $_POST['temat'];
  21. }
  22.  
  23.  
  24. # e-mail
  25. if ( !(strstr($_POST['email'], '@')) || strlen($_POST['email'])<) {
  26. $em = FALSE;
  27. $message .= 'Popraw sw�j adres e-mail.' . '<br />';
  28. $bg[2] = ' background-color: #C0C0C0; color: black';
  29. } else {
  30. $em = $_POST['email'];
  31. }
  32.  
  33.  
  34. # tresc
  35. if (empty($_POST['tresc'])) {
  36. $tr = FALSE;
  37. $message .= 'Zapomnia�e� poda� tre�� wiadomo�ci.' . '<br />';
  38. $bg[3] = ' background-color: #C0C0C0; color: black';
  39. } else {
  40. $tr = $_POST['tresc'];
  41. }
  42.  
  43.  
  44. if ($te && $em && $tr) {
  45.  
  46. $wiadomosc = "
  47. Wiadomo�� od $em: <br/><br/>
  48.  
  49. $tr <br/><br/>
  50.  
  51. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- <br/>
  52. IP nadawcy: $ip <br/>
  53. HOST nadawcy: $host <br/>
  54. wys?ano z: $document <br/>
  55. ";
  56.  
  57. $naglowki = "MIME-Version: 1.0r\n";
  58. $naglowki .= "Content-type: text/html; charset=iso-8859-2r\n";
  59. $naglowki .= "From: $emr\n";
  60.  
  61. if ( mail('test@test.pl',$te,$wiadomosc,$naglowki) ) {
  62. echo '<div align="center"><p class="para"><b>Wiadomo�� wys�ana.</b></p></div>';
  63. exit();
  64.  
  65. } else { echo 'Wiadomo�� nie mog�a zosta� wys�ana z przyczyn technicznych.'; }
  66.  
  67. } else {
  68. echo '<div align="center"><p class="error">';
  69. if (isset($message)) {
  70. echo $message;
  71. }
  72. echo '<br /><b>Spr�buj jeszcze raz.</b>';
  73. echo '</p></div>';
  74. include('form.html');
  75. }
  76.  
  77.  
  78. ?>
b_chmura
nie potrzebujesz żadnego zdarzenia onClick. Pamiętaj ze na każdej stronie z formularzem musi sie znaleźć <body onSubmit="sprawdz();">
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.