Половина функции работает
У меня есть функция, которая в сочетании с PHP отправляет электронное письмо. Так оно и есть. Чего id не делает, так это скрывает форму и говорит Спасибо.
<pre><script> $(function() { $("#myform").on('submit', function(e) { e.preventDefault(); $.ajax({ url: 'send_mail.php', dataType: 'json', data: $("#myform").serialize() }).done(function(d) { if (d.success==true) { $("#myform").hide(); $("#results").text("Thanks!").show(); } }); }); }); </script>>
<pre><?php $webmaster_email = "ds@mediascrubber.com"; $email_address = $_REQUEST['email_address'] ; function isInjected($str) { $injections = array('(\n+)', '(\r+)', '(\t+)', '(%0A+)', '(%0D+)', '(%08+)', '(%09+)' ); $inject = join('|', $injections); $inject = '/$inject/i'; if(preg_match($inject,$str)) { return true; } else { return false; } } if (!isset($_REQUEST['email_address'])) { header( "Location: $feedback_page" ); } elseif ( isInjected($email_address) ) { header( "Location: $error_page" ); } else { mail( "$webmaster_email", "Feedback Form Results", "From: $email_address" ); header('Content-Type: application/json'); echo json_encode($data); } ?>
Что я уже пробовал:
Я попробовал переместить JSON-код в PHP-часть.
Mohibur Rashid
попробуйте эту ссылку https://stackoverflow.com/questions/17267082/hide-form-after-submit-with-ajax