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