首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建PDF后隐藏AJAX消息

创建PDF后隐藏AJAX消息
EN

Stack Overflow用户
提问于 2014-03-04 05:52:52
回答 2查看 237关注 0票数 0

我提交一个表单使用php和ajax。表单将HTML输出发送到另一个创建pdf的页面。提交工作正常,但我似乎不能隐藏在pdf创建后的等待消息。我已经尝试了几种不同的方法,但都没有成功。

以下是表单代码:

代码语言:javascript
复制
<div id="message" style="display: none;"></div>
<div id="waiting" style="display: none;">Please wait</div>

<form action="/export-to-pdf" method="POST" id="pdfform" >
    <input type="hidden" name="var1" value="<?=$var1;?>">
    <input type="hidden" name="var2" value="<?=$var2;?>">
    <input type="submit" id="pdfsubmit" name="pdfsubmit" value="Submit">
</form>

下面是创建pdf的页面中的重要代码:

代码语言:javascript
复制
$pdf->Output('form.pdf', 'D');
    $return = array();
    $return['success'] = "success";
    echo json_encode($return);

下面是脚本:

代码语言:javascript
复制
$(document).ready(function(){
$('#pdfsubmit').click(function() {

    $('#waiting').show(500);
    $('#pdfform').hide(0);
    $('#message').hide(0);

    $.ajax({
        type : 'POST',
        dataType : 'jsonp',
        url : '/export-to-pdf',
        data: serialize(),
        success : function(response){
        if (response.success == 'success') {
            $('#waiting').hide(500);
            $('#message').removeClass().addClass((data.error === true) ? 'error' : 'success')
                .text(data.msg).show(500);
            if (data.error === true)
                $('#pdfform').show(500);
            }
        }
        ,
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            $('#waiting').hide(500);
            $('#message').removeClass().addClass('error')
                .text('There was an error.').show(500);
            $('#pdfform').show(500);
        }
    });

    return false;
});

});

一旦pdf可以下载,就会显示一个“另存为”对话框,但是ajax消息仍然会出现在屏幕上,永远不会消失。我使用TCPDF类来构建pdf文件。

EN

回答 2

Stack Overflow用户

发布于 2014-03-04 05:55:17

看起来您的“请稍候”在加载目录中...不是那个等待的div..。$('#load').hide(0);

票数 0
EN

Stack Overflow用户

发布于 2014-03-04 05:58:50

您的等待消息位于目录中,id为load,而不是 waiting 。您应该更改以下内容

代码语言:javascript
复制
<div id="load" style="display:none;">Please wait.</div>

代码语言:javascript
复制
<div id="waiting" style="display:none;">Please wait.</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22158258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档