Добрый день! Создал html-страницу. Затем вставил в эту страницу html-форму. Осталось, только прикрепить обработчик формы для проверки ввода э-мейла. Вставил скрипт, но html-страница на него никак не реагирует. помогите разобраться - почему? Код html-страницы: HTML: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script> <script type="text/javascript" src="js/jquery.maskedinput.js"></script> <script type="text/javascript"> jQuery(function($){ $("#phone").mask("+7 (999) 999-9999"); $("#phone2").mask("+7 (999) 999-9999"); }); </script> </head> <body> <div id="inline"> <h2>Онлайн заявка</h2> <form id="contact" action="#" method="post" name="contact"> <input id="name" class="txt" name="name" type="name" placeholder="Ваше имя" /> <input id="phone" class="txt" name="phone" type="phone" placeholder="Ваш телефон" /> <input id="email" class="txt" name="email" type="email" placeholder="Ваш e-mail" /> <textarea id="msg" class="txtarea" name="msg" placeholder="Ваше сообщение:"></textarea> <button id="send">Отправить</button> </form> </div> <script type="text/javascript"> function validateEmail(email) { var reg = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i; return reg.test(email); } $(document).ready(function() { $(".modalbox").fancybox(); $("#contact").submit(function() { return false; }); $("#send").on("click", function(){ var emailval = $("#email").val(); var namevl = $("#name").val(); var phonevl = $("#phone").val(); var msgval = $("#msg").val(); var msglen = msgval.length; var mailvalid = validateEmail(emailval); if(mailvalid == false) { $("#email").addClass("error"); } else if(mailvalid == true){ $("#email").removeClass("error"); } if(mailvalid == false) { $("#name").addClass("error"); } else if(mailvalid == true){ $("#name").removeClass("error"); } if(mailvalid == false) { $("#phone").addClass("error"); } else if(mailvalid == true){ $("#phone").removeClass("error"); } if(msglen < 4) { $("#msg").addClass("error"); } else if(msglen >= 4){ $("#msg").removeClass("error"); } if(mailvalid == true && msglen >= 4) { // если обе проверки пройдены // сначала мы скрываем кнопку отправки $("#send").replaceWith("<em>отправить...</em>"); $.ajax({ type: 'POST', url: 'sendmessage.php', data: $("#contact").serialize(), success: function(data) { if(data == "true") { $("#contact").fadeOut("fast", function(){ $(this).before("<p><strong>Успешно! Ваше сообщение отправлено :)</strong></p>"); setTimeout("$.fancybox.close()", 1000); }); } } }); } }); }); </script> </body> </html> php-код обработчика формы: PHP: <?php $sendto = "pochta@mail.ru"; // Обязательно измените e-mail на свой $usermail = $_POST['email']; $username = $_POST['name']; $userphone = $_POST['phone']; $content = nl2br($_POST['msg']); // Формирование заголовка письма $subject = "Новое сообщение"; $headers = "From: " . strip_tags($usermail) . "\r\n"; $headers .= "Reply-To: ". strip_tags($usermail) . "\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html;charset=utf-8 \r\n"; // Формирование тела письма $msg = "<html><body style='font-family:Arial,sans-serif;'>"; $msg .= "<h2 style='font-weight:bold;border-bottom:1px dotted #ccc;'>Новое сообщение</h2>\r\n"; $msg .= "<p><strong>Имя:</strong> ".$username."</p>\r\n"; $msg .= "<p><strong>Номер телефона:</strong> ".$userphone."</p>\r\n"; $msg .= "<p><strong>Почта:</strong> ".$usermail."</p>\r\n"; $msg .= "<p><strong>Сообщение:</strong> ".$content."</p>\r\n"; $msg .= "</body></html>"; // отправка сообщения if(@mail($sendto, $subject, $msg, $headers)) { echo "true"; } else { echo "false"; } ?>
проверка у клиента бессмысленна. --- Добавлено --- абсолютный путь прописывай url: 'sendmessage.php',
Да, тоже складывается такое ощущение, но я не понимаю, почему? Этот код заимствован в одном из интернет-уроков и там, вроде как, всё гладко... Но, у меня, почему-то нет.