我有一条通过AJAX提交的消息提交了一条消息,然后在succes函数中做了一些漂亮的动作。我的问题是:如何在slipeUp()完成后重新加载页面?对于它的价值,窗口内容在id =“thread”的iframe内,如果这很重要的话。这是我的代码。一切正常,除了我无法在slideUp()之后重新加载页面。任何帮助表示赞赏!
$(function() {
$('.error').hide();
$("#button").click(function() {
$('.error').hide();
var subject = $("input#subject").val();
if (subject == "")
{
$("label#subject_error").show();
$("input#subject").focus();
return false;
}
var message = $("textarea#message").val();
if (message == "")
{
$("label#message_error").show();
$("textarea#message").focus();
return false;
}
var thread_id = {THREAD_ID};
var sender_id = {SENDER_ID};
var dataString = 'sender_id='+ sender_id + '&thread_id=' + thread_id + '&message=' + message + '&submit=' + true;
//alert (dataString);return false;
$.ajax(
{
type: "POST",
url: "{U_NEW}",
data: dataString,
success: function()
{
$('.dialog').html("<div id='succes'></div>");
$('#succes').html("<h2>{L_MESSAGE_SENT}</h2>")
.hide()
.fadeIn(800, function()
{
$('#succes')
});
$('#succes').delay(1500).slideUp(500);
}
});
});
});
答案 0 :(得分:0)
slideUp可以将回调函数作为第二个参数。
.slideUp( [duration] [, callback] )
所以你可以这样做:
$('#succes').delay(1500).slideUp(500, function () {
//document.getElementById('thread').contentWindow.location.reload(); // reload iframe
var iframe = window.parent.document.getElementById('thread');
iframe.src = iframe.src;
});
答案 1 :(得分:0)
你的意思是
$('#succes').delay(1500).slideUp(500, function(){ location.reload();});