Модальное окно после отправки формы. javascript
Всем доброго времени суток. Прошу о помощи) Второй день не могу найти решения на вопрос с модальным окном после отправки формы. Проще говоря нужно, чтобы после нажатия на кнопку submit вывел скрытый div с сообщением: «Ваше сообщение отправлено».
html
p.s. я новичек, наведите на путь истины)
html
<form method="post" action="php/contact.php" id="contactfrm" role="form">
<div class="col-sm-6 wow fadeInRight animated" style="visibility: visible; animation-name: fadeInRight;">
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" name="name" id="name" placeholder="Enter name" title="Please enter your name (at least 2 characters)" required>
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" class="form-control" name="email" id="email" placeholder="Enter email" title="Please enter a valid email address" required>
</div>
</div>
<div class="col-sm-6 wow fadeInRight animated" style="visibility: visible; animation-name: fadeInRight;">
<div class="form-group">
<label for="message'">Comments</label>
<textarea name="message" class="form-control" id="comments" cols="3" rows="5" placeholder="Enter your message…" title="Please enter your message (at least 10 characters)" required></textarea>
</div>
<button name="submit" type="submit" class="btn btn-lg btn-primary" id="submit" data-reveal-id="myModal" data-animation="fade">Say Hello</button>
<div class="result"></div>
</div>
</form>
java//-- скрытый div
<div id="myModal" class="reveal-modal">
<h1>Заголовок</h1>
<p>Любое содержимое</p>
<a class="close-reveal-modal">×</a>
</div>
//-- действие с id submit, после которого будет показан div
<script type="text/javascript">
$(document).ready(function() {
$('#submit').submit(function(e) {
e.preventDefault();
$('#myModal').reveal();
});
});
</script>
Отправка формы при помощи php<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['message'])) {$textarea = $_POST['message'];}
$address = 'mail@mail.ru';
$sub = "AtGroove Message";
$mes = "Name: $name \nEmail: $email \nMessage: $textarea";
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");
if ($verify == 'true')
{
echo "<p>Mail sensed";
}
else
{
echo "<p>Mail dont sensed";
}
header('Location: http://site.com/');
exit;
?>
После чего идет редирект на главную страницу. Можно ли сделать вывод дива после редиректа? Или же нужно смотреть в сторону AJAX (с помощью него отправлять форму)? p.s. я новичек, наведите на путь истины)
Комментарии: 6
Глубоко не копаясь видно ошибку
Должно быть или так
Должно быть или так
$('#submit').click(function(e) {
...
или так$('#contactfrm').submit(function(e) {
Ну и если jQuery подключен, то показать окно можно через него$('#myModal').fadeIn();
при
$('#contactfrm').submit(function(e) {
кнопка просто мертвеет$('#myModal').fadeIn();
сейчас попробую, спасибо.
Естественно, ведь у вас прописано
П.С. Чтобы ответить на комментарий, нужно кликать на ссылку «ответить» под комментарием. Тогда человек, написавший комментарий получит уведомление.
e.preventDefault();
который отменяет submit. П.С. Чтобы ответить на комментарий, нужно кликать на ссылку «ответить» под комментарием. Тогда человек, написавший комментарий получит уведомление.
Спасибо большое;)
А решение modstore.pro/packages/utilities/ajaxform не решает проблему?
Вроде как там не сложно и модальное окно прикрутить…
Вроде как там не сложно и модальное окно прикрутить…
А зачем так сложно?
Можно после проверки на отправку вызвать модальное.
Если вы используете Reveal c Foundation то вроде так оно вызывается:
$("#myModal").foundation('reveal', 'open');
Можно после проверки на отправку вызвать модальное.
Если вы используете Reveal c Foundation то вроде так оно вызывается:
$("#myModal").foundation('reveal', 'open');
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.