Трудности с отображением сообщения succes после отправки формы
Я все еще изучаю языки кода, с помощью которых создавал свою форму. Так что я никак не могу понять, в чем же проблема. Вот мой код:
HTML:
<form action="" method="POST"> <ul class="form-style-1"> <li> <input type="text" id="mail-name" name="name" class="field-divided" maxlength="15" placeholder="Voornaam *" /> <input type="text" id="mail-lastname" name="lastname" class="field-divided" maxlength="15" placeholder="Achternaam" > </li> <li> <input type="email" id="mail-email" name="email" placeholder="E-mail *" class="field-long" maxlength="40" > </li> <li> <input type ="text" id="mail-phone" name="phone" placeholder="Telefoonnummer" class="field-long" maxlength = "15"> </li> <li> <select name="subject" id="mail-subject" class="field-select" > <option disabled value="" selected hidden >--Onderwerp-- *</option> <option value="Kennismakingsgesprek">Kennismakingsgesprek</option> <option value="Meer informatie">Meer informatie</option> <option value="activiteit">Aanmelding activiteit</option> <option value="Vraag/klacht">Vraag/klacht</option> <option value="Contact">Overig</option> </select> </li> <li> <textarea name="information" id="mail-information" placeholder =" Je bericht *"class="field-long field-textarea" maxlength="2000"></textarea> </li> <button class="mail-submit" id="mail-submit" type="submit" name="submit">Send e-mail</button> <span class="form-message"></span> </ul> </form>
JS:
<script> $("#mail-submit").click(function(event){ event.preventDefault(); var name = $("#mail-name").val(); var lastname = $("#mail-lastname").val(); var email = $("#mail-email").val(); var phone = $("#mail-phone").val(); var subject = $("#mail-subject").val(); var information = $("#mail-information").val(); $.post("contacttest.php", { name: name, lastname: lastname, email: email, phone: phone, subject: subject, information: information, submit: "yes" }, function(data){ $(".form-message").html( data ); } ); });
РНР:
<?php if (isset($_POST['submit'])) { $email_to = "#"; $email_subject = "#"; $name = $_POST['name']; $lastname = $_POST['lastname']; $email = $_POST['email']; $phone = $_POST['phone']; $subject = $_POST['subject']; $information = $_POST['information']; $errorEmpty = false; $errorEmail = false; if (empty($name) || empty($email) || empty($subject) || empty($information)) { echo "<span class='form-error'>Voer alle velden in!</span>"; $errorEmpty = true; } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "<span class='form-error'>Geef een geldig E-mail!</span>"; $errorEmail = true; } else { $formcontent=" Naam: $name \n\n Achternaam: $lastname \n\n Email: $email \n\n Telefoon: $phone \n\n Onderwerp: $subject \n\n Informatie: $information"; $mailheader = "From: ".$_POST["email"]."\r\n"; $headers = "From: ". htmlspecialchars($_POST['name']) ." <" . $_POST['email'] . ">\r\n"; $headers .= "Reply-To: " . $_POST['email'] . "\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; mail($email_to, $subject, $formcontent, $mailheader); echo "<span class='form-success'>E-mail has been sent!</span>"; } } else { echo "Not working!"; } ?>
То, что я ищу,-это то, что страница не обновляется после отправки формы, так что она может отображать сообщение об ошибке или успехе формы. На данный момент страница не обновляется(я думаю), но она отказывается показывать сообщение succes при отправке формы. Весь код находится в 1 PHP-файле.
Спасибо, что уделили мне время.
Что я уже пробовал:
В основном смотрел в интернете об этой проблеме, но не исправил свою проблему.