Witam, potrzebuję zrobic prosty formularz wysylajacy maila bez przeladowywania strony. Udalo mi sie napisac cos takiego:
HTML:
<section> <form id="contact-form" name="contact-form" method="post"> <h1>Napisz do nas!</h1> <label for="name" id="name">Imię:</label><br/> <input type="text" name="name" id="name" required/><br/> <label for="mail" id="mail">Twój e-mail:</label><br/> <input type="text" name="mail" id="mail" required/><br/><br/> <label for="text" id="text">Treść</label> <textarea id="text" name="text" required></textarea> <input type="submit" id="submit" name="submit" value="Wyślij" /> </form> <div id="sukces"> <p>E-mail został wysłany! Wkrótce się z Tobą skontaktujemy!</p> </div> <div id="error"> <p>Coś poszło nie tak. Odśwież stronę lub spróbuj ponownie później.</p> </div> </section>
JS:
$(document).ready(function(){ $("#submit").click(function(){ $("#contact-form").validate({ rules: { name: { required: true, minlength: 3 }, mail: { required: true, email: true }, text: { required: true, minlength: 10 } }, messages: { name: { required: " Chyba masz imię, co nie?", minlength: " Wydaje nam się, że Twoje imię jest dłuższe." }, mail: { required: " Potrzebujemy Twojego maila, abyśmy mogli odpisać.", email: " To nie wygląda jak e-mail." }, text: { required: " Przecież nie wyślesz pustej wiadomości?<br/>", minlength: " Rozpisz się troszkę bardziej, prosimy!<br/>" } }, submitHandler: function(form) { $("contact-form").ajaxSubmit({ type: "POST", data: $("#contact-form").serialize(), url: "mail.php", success: function(){ $("#submit").attr("disabled", "disabled"); $("#sukces").fadeIn(); }, error: function(){ $("#error").fadeIn(); } }); } });// koniec validate }); }); //koniec
PHP:
<?php $to = "mojmail@o2.pl"; $subject = "Masz wiadomość od klienta."; $name = $_POST['name']; $from = $_POST['mail']; $text = $_POST['text']; $message = "Wiadomośc od: $name\r\n $text "; $send = mail($to, $subject, $message); ?>
Wzorowalem sie na tym: https://gist.github.com/ajtroxell/6731408
Wtyczka validate dziala, tylko juz po kliknieciu "wyslij" nic sie nie dzieje. Ktos moglby pomoc, gdzies jakies literowki znalezc, ogolnie jakies bledy? Z gory dziekuje za pomoc :D