자바 스크립트를 사용하여 여러 창을 열고 한 번의 버튼 클릭으로 여러 요청을 제출하십시오.

테드 유

HTML 파일이 있습니다.

function runBatch() {
      
    document.form2.w_yyyymm.value=document.form1.w_yyyymm.value;
    window.open('', 'TheWindow2')
    document.form2.submit();
            			
    document.form3.w_yyyymm.value=document.form1.w_yyyymm.value;
    window.open('', 'TheWindow3')
    document.form3.submit();

    document.form4.w_yyyymm.value=document.form1.w_yyyymm.value;
    window.open('', 'TheWindow4')
    document.form4.submit();
}
    <form name="form2" method="post" action="reportm02.do" ><input name="w_yyyymm" type="hidden" >
    <input name="method" value="view" type="hidden" >
    <input name="w_goods_id" value="9999" type="hidden" >
    </form>
    <form name="form3" method="post" action="reportm02.do" ><input name="w_yyyymm" type="hidden" >
    <input name="method" value="view" type="hidden" >
    <input name="w_goods_id" value="TX" type="hidden" >
    </form>
    <form name="form4" method="post" action="reportm02.do" ><input name="w_yyyymm" type="hidden" >
    <input name="method" value="view" type="hidden" >
    <input name="w_goods_id" value="TE" type="hidden" >
    </form>

    <input type="button" name="Submit3" value="run batch" onClick="runBatch();" >

양식 제출 중 하나는 xls 파일을 얻으므로 하나의 버튼을 클릭하여 모든 xls 파일을 얻고 싶습니다. 아약스를 시도했는데 모두 실패 해요 ~ 어떻게하면 되나요? 감사합니다 !!

function ajaxSubmit(form)
{
    var f = form; 
    var postData = []; 
    for (var i = 0; i < f.elements.length; i++) { 
        postData.push(f.elements[i].name + "=" + f.elements[i].value); 
    } 
    var xhr = new XMLHttpRequest(); 
    xhr.open("POST", "reportm02.do", true); 
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.send(postData.join("&")); 
}

function runBatch() {
    
    ajaxSubmit(document.form2);
    ajaxSubmit(document.form3);
    ajaxSubmit(document.form4); 
}

.. 그러나 클라이언트 측에 xls 파일 다운로드가 없습니다.

또한 다음 코드를 시도했지만 여전히 작동하지 않습니다.

// Download a file form a url.
function saveFile(url) {
  // Get file name from url.
  var filename = url.substring(url.lastIndexOf("/") + 1).split("?")[0];
  var xhr = new XMLHttpRequest();
  xhr.responseType = 'blob';
  xhr.onload = function() {
    var a = document.createElement('a');
    a.href = window.URL.createObjectURL(xhr.response); // xhr.response is a blob
    a.download = filename; // Set the file name.
    a.style.display = 'none';
    document.body.appendChild(a);
    a.click();
    delete a;
  };
  xhr.open('GET', url);
  xhr.send();
}

테드 유

다음 코드를 시도합니다.

http://danml.com/download.html

다음과 같이 download.js를 포함합니다.

 <script language="JavaScript" src="js/download.js"></script>
    <Script language="JavaScript">


        function saveFile(url,filename) {
            //
              // Get file name from url.
              //var filename = url.substring(url.lastIndexOf("/") + 1).split("?")[0];
            var x=new XMLHttpRequest();
            x.open("GET", url, true);
            x.responseType = 'blob';
            x.onload=function(e){download(x.response, filename, "text/plain" ); }
            x.send();
            }

        function runBatch() {
            if (!date_check_yyyymm(document.form1.w_yyyymm, "申報年月")) {              
                return false;
            }


           saveFile("ReportMIB.do?method=view&w_yyyymm="+document.form1.w_yyyymm.value+"&w_goods_id=9999","880103_"+document.form1.w_yyyymm.value+"_9999.xls" )
           saveFile("ReportMIB.do?method=view&w_yyyymm="+document.form1.w_yyyymm.value+"&w_goods_id=TX","880103_"+document.form1.w_yyyymm.value+"_TX.xls" )
           saveFile("ReportMIB.do?method=view&w_yyyymm="+document.form1.w_yyyymm.value+"&w_goods_id=TE","880103_"+document.form1.w_yyyymm.value+"_TE.xls" )
           .....

            }

    </script>

이것은 Chrome 브라우저에서 작동하지만 IE 및 firefox에서 작동합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관