我有:
<a href>
链接
和<form>
,当在ajax成功时点击了submit按钮时,会在页面上显示一条消息。
它们都很好。代码如下。
<script>
$(document).ready(function ()
{ //this fancybox appears when <a href="..." ...>...</a> clicked
$(".fancybox-effects-d").fancybox({
padding:15,
closeBtn:true,
});
$("form#submit").submit(function ()
{
var name = $('#name').attr('value');
var password = $('#password').attr('value');
$.ajax({
type:"POST",
url:"index/success",
data:{ name:name, password:password},
success:function ()
{
//this form disappears and div appears when submit button of the <form id="submit" ...>...</form> clicked
$('form#submit').hide(function ()
{
$('div#errors').fadeIn(3000);
});
}
});
return false;
});
});
</script>
我想移动那个fancybox出现在ajax上的成功。我该怎么做?
答案 0 :(得分:4)
您可以使用对最终用户不可见的链接,并使用jQuery在ajax成功回调上触发它。像这样:
<a id="hiddenlink" href="#fancy" style="display: none;"></a>
<script>
$(document).ready(function ()
{ //this fancybox appears when <a href="..." ...>...</a> clicked
$(".fancybox-effects-d").fancybox({
padding:15,
closeBtn:true,
}
});
$("form#submit").submit(function ()
{
var name = $('#name').attr('value');
var password = $('#password').attr('value');
$.ajax({
type:"POST",
url:"index/success",
data:{ name:name, password:password},
success:function ()
{
$("a#hiddenlink").trigger("click");
//this form disappears and div appears when submit button of the <form id="submit" ...>...</form> clicked
$('form#submit').hide(function ()
{
$('div#errors').fadeIn(3000);
});
}
});
return false;
});
});
</script>
答案 1 :(得分:2)
您可以使用此简单功能手动调用fancybox
$.fancybox(
'<p>Content of the box in HTML</p>',
{
padding:15,
closeBtn:true
}
);
只需将其添加到成功功能中即可。