1

我是 javascript 和 HTML 的新手。我正在努力显示繁忙的图像,同时我的 html 表单被回发并下载文件。我正在使用http://malsup.com/jquery/form/#options-object插件。我正在使用 IE 9。我正在发回一个表单并作为回报接收一个文件。

当我回帖时,我看到繁忙的掩码,然后 IE 要求我保存为文件,但掩码不会消失。没有调用成功/错误回调。下面是我的代码的快照。

非常感谢您在解决此问题方面的指导。

`frmExport.html
<head>
<script src="js/jquery-1.8.0.js"></script>

<script src="js/jquery.form.js"></script>

<script src="js/frmExport.js"></script>
</head>
<body onload="......">
<form id="frmExport" onsubmit="return exportFile();" enctype="multipart/form-data" method="post">
<fieldset>
<legend class="cuesGroupBoxTitle">Export File</legend>
    <table border="0" cellpadding="0" cellspacing="8">
        <tr>
        <td width="50%">Export File:</td>
        <td><input type="submit" id="ExportFileButton" value="Export" /></td>
        </tr>
    </table>
</fieldset>
</form>
</body>

frmExport.js

function exportSuccess(responseText, statusText, xhr, $form)
{ 
hideMask("exportFile");
alert(statusText");
}

function exportError()
{
hideMask("exportFile");
alert("An error occurred while exporting file.");
}

function exportFile() 
{
if(confirm("Exporting file may take sometime. Do you want to continue?"))
{
    var options = 
    { 
        type:          "POST",
        success:       exportSuccess,  // post-submit callback 
        error:         exportError,
        url:           'exportURI',
        dataType:      'text'
    }; 

    // bind to the form's submit event 
    $('#frmExport').submit(function() 
    { 
        $(this).ajaxSubmit(options); 

        showMask("exportFile");

        //always return false
        return false; 
    });
}
}`
4

1 回答 1

0

我很确定您的问题是您$('#frmExport').submit(...)在提交已被触发时挂钩了提交事件()。尝试将它挂在 document.ready 上。

$(document).ready(function() {
var options = 
{ 
    type:          "POST",
    success:       exportSuccess,  // post-submit callback 
    error:         exportError,
    url:           'exportURI',
    dataType:      'text'
}; 

// bind to the form's submit event 
$('#frmExport').submit(function() 
{ 
    $(this).ajaxSubmit(options); 

    showMask("exportFile");

    //always return false
    return false; 
});

});
于 2013-08-10T20:29:24.720 回答