0

我正在使用下面的代码提交一个“灯塔”或“Shadowbox”表单。任何方式都会弹出一个窗口并且屏幕的其余部分变暗。

    var frm = $('#contactForm1');
    frm.submit(function () {
        $.ajax({
            type: frm.attr('method'),
        url: frm.attr('action'),
        data: frm.serialize(),
        success: function (data) {
            alert(data);
        }
    });

    return false;
    });

我拿了它:从这里。我正在将表单提交给 submit.php 脚本。提交时它工作正常,但它从 submit.php 返回结果为“警报”,它不是 HTML,我看到它们都是 HTML 的纯文本。

我的问题是如何提交表单,以便结果回到那个影子框中而不是警报?

4

2 回答 2

1

使用也可以使用fancybox是一种工具,用于在浮动在网页上方的 Mac 风格的“灯箱”中显示图像、html 内容和多媒体。

于 2013-06-13T22:28:17.533 回答
0

正如@Joe 所说,你不能在 alert() 中使用 html,所以如果你想以这种方式显示 Html,最好使用 [Dialog | jQuery UI][1]

编辑:因为你正在使用bootstrap你可以这样做:

$(document).ready(function() { 
 var frm = $('#contactForm1');
 frm.submit(function (e) {
        e.preventDefault();
        $.ajax({
            type: frm.attr('method'),
            url: frm.attr('action'),
            data: frm.serialize(),
            success: function (data){
              $("#modal-body").html("Your result:" + data);
           }
       });
    });
});

这是一个工作示例:http: //jsfiddle.net/ouadie/bREQq/

只需使用代码jsfiddle.net,然后将其放入<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script src="bootstrap.min.js"></script>   

 <!-- Bootstrap -->
<link href="bootstrap.min.css" rel="stylesheet" media="screen">
<link href="bootstrap-responsive.css" rel="stylesheet">
于 2013-06-13T21:58:12.480 回答