我正试图从FoncyBox2发布一个表单,到目前为止没有运气。以下代码的结果是封闭叠加。没有其他事情发生。没错。没什么。我想要的只是结果(在这种情况下是字段的内容)代替同一叠加层中的表单。
HTML:
<a class="fancybox fancybox.ajax" href="formPage.php">Open Overlay</a>
JavaScript的:
$(document).ready(function(){
$(".fancybox").fancybox();
$("#question-form").bind("submit", function() {
$.fancybox.showActivity();
$.ajax({
type : "POST",
cache : false,
url: "formProcessing.php",
data: $(this).serializeArray(),
success:function(data){
$.fancybox(data);
}
});
return false;
});
});
表格(formPage.php):
<form id="question-form" action="" method="POST">
Name <input type="text" name="name">
<input type="submit" value="Send">
</form>
表单处理(formProcessing.php):
print_r($_POST);
哦,我不担心验证。我打算以另一种方式这样做。
谢谢, @rrfive
答案 0 :(得分:1)
是的,我设法解决了这个问题。事实证明我是一个笨蛋,这是一个简单的例子,将代码$ .ajax代码移动到表单页面。这是我的最终代码。
HTML(index.html) - 未更改:
<a class="fancybox fancybox.ajax" href="formPage.php">Open Overlay</a>
JavaScript(index.html):
$(".fancybox").fancybox();
表格(formPage.php) - 未更改:
<form id="question-form" action="" method="POST">
Name <input type="text" name="name">
<input type="submit" value="Send">
</form>
JavaScript(formPage.php):
$(document).ready(function(){
$("#question-form").bind("submit", function() {
$.ajax({
type : "POST",
cache : false,
url: "formProcessing.php",
data: $(this).serializeArray(),
success:function(data){
$.fancybox(data);
}
});
return false;
});
});
表单处理(formProcessing.php):
print_r($_POST);
感谢@JFK和@Daniel的建议。
答案 1 :(得分:0)
我是这个社区的新用户。 首先抱歉我的英语不好:)
我也使用上面的代码,它工作得很好,但我想在fancybox关闭后重新加载文档。
我尝试使用此代码:
<script type="text/javascript">
$(document).ready(function() {
// cart iframe
$("#stocart").bind("submit", function() {
$.ajax({
type : "POST",
cache : false,
url : "reloadpage.php",
data : $(this).serializeArray(),
success: function(data) {$.fancybox(data);},
afterClose: location.reload()
});
return false;
});
});
</script>
但这会重新加载页面而不显示fancybox ...当我点击fancybox关闭按钮时如何重新加载页面? 非常感谢