此时无法以 FancyBox 的形式向用户显示可导航的 POST 请求。但是,您有几个选择:
选项 1:在 Fancybox 中仅显示结果(以 HTML 格式):
$("#my-form").submit(function() {
$form = $(this);
$.ajax({
url: $form.attr("action"),
type: 'POST',
dataType: 'html',
data: $form.serialize(),
success: function(data, textStatus, xhr) {
$.fancybox({
'title': "form submission",
'content': data
});
},
error: function(xhr, textStatus, errorThrown) {
alert("An error occurred.");
}
});
return false;
});
选项 2:更改为 GET 请求并使用 Fancybox Iframe:
$(function() {
$("#my-form").submit(function() {
$form = $(this);
$.fancybox({
'title': "form submission",
'href': $form.attr("action") + "?" + $form.serialize(),
'type': 'iframe'
});
return false;
});
});
选项 3:忘记 FancyBox,自己做这件事
<script>
$(function() {
$("#my-form").submit(function() {
$form = $(this);
$iframe = $("#form-submission");
$window = $(window);
$iframe.css({
height: 500,
width: 500,
position: "absolute",
left: ($window.width() / 2) - 250,
top: ($window.height() / 2) - 250
});
$iframe.fadeIn();
});
});
</script>
<form action="test.php" method="post" target="form-submission" id="my-form">
<input name="q" value="myvalue">
<p><input type="submit" value="submit"></p>
</form>
<iframe src="#" name="form-submission" id="form-submission" style="display: none;"></iframe>
希望能帮到你!