1. 程式人生 > >iframe標籤實現form表單提交下載檔案

iframe標籤實現form表單提交下載檔案

一、表單提交的程式碼常規寫法
<iframe name="testIframeName" style="display:none;"></iframe>  
<form target="testIframeName" method="post" action="xxxx.do">  
    <input type="text" name="username"/>  
    <input type="password" name="password"/>  
    <input type="submit" value
=" 提 交 " />
</form>
二、替換成全部隱藏的程式碼寫法
  • form表格的target屬性的值對應上iframe的name屬性值
$("#downLoadIFrame").remove();
var $Iframe = $("<iframe>");
$Iframe.attr("name", "downLoadIFrame");
$Iframe.attr("id", "downLoadIFrame");
$Iframe.attr("style", "diaplay:none");
$("body").append($Iframe);
var
$form = $("<form>"); $form.empty(); $form.attr("style", "diaplay:none"); $form.attr("target", "downLoadIFrame"); // 對應iframe的name屬性值 $form.attr("method", "post"); $form.attr("action", "xxxxx.do"); // 指向後端請求連結 $("body").append($form); // 新建input, 並設定name屬性和value的值 var $input = $("<input>"); $input.attr("type"
, "hidden"); $input.attr("name", "xyz"); // 填上後臺對應的name欄位 $input.attr("value", "xxxxxyyyyzzzz"); // 填上傳的值 $form.append($input); $form.submit(); // 監聽iframe回撥 $Iframe.on("load", function() { var contentWin = document.getElementById("downLoadIFrame").contentWindow; var backBodyText = contentWin.document.body.innerText; $Iframe.remove(); }); $Iframe.remove();