2013-12-06 3 views
0

Я использую свою контактную форму через colorbox iframe, все отлично выглядит, но я хочу, чтобы это работало внутри colorbox iframe без обновления страницы. Я знаю, что мне нужен AJAX, но можете ли вы дать мне ajax-код, чтобы получить эту работу? Отправка почты без обновления.Colorbox iframe контактная форма без перезагрузки

<?php 
if ($_POST["email"]<>'') { 
$person = '[email protected]'; 
$subject = "=?UTF-8?B?".base64_encode("Message from ".$_POST["name"]."")."?="; 
$header = "Content-Type: text/html; charset=utf-8"; 
$content .= "<h1>Mailer info</h1>"; 
$content .= "<b>Name:</b> ".$_POST["name"]."<br />"; 
$content .= "<b>E-mail:</b> ".$_POST["email"]."<br />"; 
$content .= "<b>Phone:</b> ".$_POST["phone"]."<br /><br />"; 
$content .= "<h1>Message</h1>"; 
$content .= "<b>".nl2br($_POST["message"])."</b>"; 
mail($person, $subject, $content, $header) or die ("Failed."); 
} 
?> 
<div id="formWrapper"> 
<div id="logo"></div> 
<div class="message"> 
<p>Your message has been sent successfully. You can close this window.</p> 
</div> 
<form action="" method="post" enctype="multipart/form-data" name="form" id="form"> 
<ul> 
<li> 
    <label>Name</label> 
    <input type="text" name="name" pattern="[a-z\A-Z\ \ą\ć\ę\ł\ń\ó\ś\ż\ź\-\+]{1,50}" required /> 
</li> 
<li> 
    <label>E-mail</label> 
    <input type="email" name="email" required /> 
</li> 
<li> 
    <label>Phone</label> 
    <input type="phone" name="phone" pattern="[0-9\-\+]{1,15}" /> 
</li> 
<li> 
    <label class="message">Message</label> 
    <textarea name="message" required ></textarea> 
</li> 
<li> 
    <button class="submit" type="submit">Send</button> 
</li> 
</ul> 
</form> 
</div> 
+1

Похоже, кто-то был достаточно хорош, чтобы сделать это для вас, но StackOverflow на самом деле не для запросов «можете ли вы дать мне код». На самом деле, вы должны попробовать себя. Если у вас все еще есть проблемы, покажите нам, что вы пробовали, и продемонстрируйте, что вы приложили усилия. Вы знаете, что вам нужен аякс. Почему бы не попробовать учебник или 2 на «отправке формы без перезагрузки с помощью ajax», или попробовать ответы на подобные вопросы здесь? Здесь много хороших вещей: https://www.google.com/search?q=submitting+a+form+without+reload+using+ajax –

ответ

0

Если вы используете JQuery (который вы должны быть, если вы используете ColorBox,) следующий код должен работать:

$('#form').on('submit', function(event) { 
    event.preventDefault(); 
    var params = $(this).serialize(); 
    $.post(document.URL, params, function() { 
     $('.message').show(); 
    }); 
}); 
Смежные вопросы