私は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;
});
}
}`