ds0678 2013-12-06 19:39
浏览 24
已采纳

Colorbox iframe联系表单无需重新加载[关闭]

I'm using my contact form via colorbox iframe, everything is showing fine, but I want this to work inside colorbox iframe without page refreshing. I know I need AJAX, but can you give me AJAX code to get this work? Sending my mail without refresh.

<?php
if ($_POST["email"]<>'') {
    $person = 'example@mail.com';
    $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条回答 默认 最新

  • doubao6936 2013-12-06 21:55
    关注

    If you're using jQuery (which you should be if you're using Colorbox,) the following code should work:

    $('#form').on('submit', function( event ) {
        event.preventDefault();
        var params = $(this).serialize();
        $.post(document.URL, params, function () {
            $('.message').show();
        });
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗