javascript — контактная форма не отправляется

Используя Zurb Foundation 5 и контактную форму не отправляйте. При нажатии кнопки «Отправить» ничего не происходит. Он должен заменить форму сообщением с благодарностью и отправить данные формы на мою электронную почту. Любая помощь с благодарностью …

HTML:

<body>
<section id="footer">
<div class="row">
<div class="small-12 medium-6 large-6 columns">
some other stuff
</div>
<div class="small-12 medium-6 large-6 columns">
<form id="myForm" data-abide="ajax">
<div class="contactform">
<div class="name-field">
<label>Your name <small>required</small>
<input id="name" type="text" required pattern="[a-zA-Z]+">
<small class="error">Be sure and leave your name.</small>
</label>

</div>
<div class="email-field">
<label>Email <small>required</small>
<input id="email" type="email" required>
<small class="error">Oops, you forgot your email.</small>
</label>

</div>
<div class="text-field">
<label>Message <small>required</small>
</label>
<textarea id="message" required></textarea>
<small class="error">I see you're the quiet type. How about a short message?</small>
</div>
<button type="submit">Submit</button>
</div>
</form>
</div>
</div>
</section>

JS:

<script src="js/vendor/jquery.js"></script>
<script src="js/foundation.min.js"></script>
<script>
$(document).on('opened', '[data-reveal]', function () {
var modal = $(this);
$(window).trigger('resize');
});
</script>

<script>
$(document).foundation();
</script>

<script>
$('#myForm')
.on('valid.fndtn.abide', function () {
var name = $("input#name").val();
var email = $("input#email").val();
var message = $("textarea#message").val();

//Data for response
var dataString = 'name=' + name +
'&email=' + email +
'&message=' + message;

//Begin Ajax call
$.ajax({
type: "POST",
url:"php/mail.php",
data: dataString,
success: function() {
$('.contactform').html("<div id='thanks'></div>");
$('#thanks').html("<h2>Thanks!</h2>")
.append("<p>Glad to hear from you "+ name +"! I'll be in touch soon.</p>")
.hide()
.fadeIn(1500);
},
}); //ajax call
return false;
});
</script>

PHP

$name = $_POST["name"];
$email = $_POST["email"];
$message = $_POST["message"];

$msg = "
Name: $name
Email: $email
Comments:
$message
";

$to = "[email protected]";
$subject = "Web Form";
$message = $msg;
$headers = "Web Form";
mail($to,$subject,$message,$headers);

?>

отредактировано для разделения JS

-2

Решение

Я думаю, что это своего рода междоменная проблема. Ваш код на самом деле пытается сделать междоменную (CORS) запрос, а не обычный пост. Современные браузеры разрешают только Ajax-вызовы службам в том же домене, что и запрос. Чтобы включить CORS на вашем удаленном сервере, перейдите на следующую веб-страницу, где приведены инструкции для различных типов серверов. Попробуйте прочитать этот .

FYI

CORS

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]