提交后jQuery,"data"不显示为HTML



我使用下面的代码提交一个表单,它是"lighthouse"或"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;
    });

我拿走了它:从这里。我提交的形式提交。php脚本。它在提交时工作得很好,但它从submit.php返回结果为"alert",它不是HTML,它都是纯文本,我看到它们是HTML。

我的问题是如何提交表单,使结果返回到shadowbox中,而不是作为警报?

use也可以使用fancybox是一个工具,用于显示图像,html内容和多媒体在mac风格的"灯箱",漂浮在网页的顶部。

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

EDIT:因为你使用的是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">

最新更新