양식을 제출할 때 트리거되는 "처리 중"애니메이션이 포함 된 div가 있습니다.문제 "처리 중"스플래시 화면 숨기기
<form action='index.php?page=2' method='post' onsubmit="javascript:processingBox();">
MOST 페이지에 유용합니다. 내가 가진 문제는, 내 양식의 일부는 다음 코드를 다운로드하여 실행할 것입니다 :
//BEGIN DOWNLOAD HEADER SECTION//
header("Pragma: public", true);
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition: attachment; filename='.$filename);
header("Content-Transfer-Encoding: binary");
header('Connection: Keep-Alive');
//WRITE OUT HEADER//
echo $output;
//WRITE OUT RECORDS//
while ($row = mysqli_fetch_array($sql)) {
$output = "";
for ($i = 0; $i < $columns_total; $i++) {
$output .= $_POST['enclosed'] . $row["$i"] . $_POST['enclosed'] . $_POST['delimiter'];
}
echo "\r\n";
echo substr($output,0,strlen($output)-1);
}
exit;
여기에 명백한 문제가 (이 아니가 설계된대로)이 스크립트는 페이지를 새로 고침하지 않는다는 것입니다 만 제출시 표시되는 처리 시작 부분을 지우지 않습니다.
이 시나리오에 대한 유용한 정보가 있습니까?
편집 :
<script type="text/javascript">
function processingBox() {
div = document.getElementById('processingBox');
div.style.visibility = "visible";
}
</script>
<div class='processingBox' id='processingBox'>
<h1 style='margin-top:0px;margin-bottom:30px;'>Processing</h1>
<div class="circle"></div>
<div class="circle1"></div>
</div>
다운로드가 AJAX를 통해 이루어집니다 있나요? 그렇다면 자바 스크립트에서 "애니메이션"을 숨길 필요가 있습니다. 일반적으로 Ajax 호출로 return 함수를 지정할 수 있어야합니다. 파일이 업로드되면이 함수를 호출해야합니다. 그것으로부터 당신은 당신의 애니메이션을 숨길 것입니다. – mogosselin
'processingBox()'함수를 보여줍니다. –
어쩌면 업로드 양식의 HTML 및 JavaScript 코드 ... – mogosselin