Ajax 生成流文件下载 以及复选框的实现
生活随笔
收集整理的這篇文章主要介紹了
Ajax 生成流文件下载 以及复选框的实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JQuery的ajax函數的返回類型只有xml、text、json、html等類型,沒有“流”類型,所以我們要實現ajax下載,不能夠使用相應的ajax函數進行文件下載。但可以用js生成一個form,用這個form提交參數,并返回“流”類型的數據。在實現過程中,頁面也沒有進行刷新。
?
<th><input type="checkbox" name="title" id="checkbox_all"/></th> {% for student in students %}<tr><td><input type="checkbox" name="student_name" id="boxes" value="{{ student.number }}"/></td> $('#checkbox_all').click(function () {var a = document.getElementsByTagName("input");if (document.getElementById("checkbox_all").checked == true) {for (var i = 0; i < a.length; i++)if (a[i].type == "checkbox") a[i].checked = true;}else {for (var i = 0; i < a.length; i++)if (a[i].type == "checkbox") a[i].checked = false;}}); $('#input_student').click(function () {var arr = new Array();var sign = 0;var inputs = document.getElementsByTagName('input');//獲取所有的input標簽對象。for (var i = 0; i < inputs.length; i++) {var obj = inputs[i];if (obj.type == 'checkbox') {if (obj.checked == true) {sign = 1;var length = arr.push(obj.value);}}}if (sign == 0)//沒有被選擇項 {alert("請勾選要下載的數據!");return;}if (!confirm("確定下載選中的條目嗎?")) return;var form = $("<form>");form.attr('style', 'display:none');form.attr('target', '');form.attr('method', 'post');form.attr('action', '{% url "teacher:downloadStu" %}');var input1 = $('<input>');input1.attr('type', 'hidden');input1.attr('name', 'number');input1.attr('value', arr.join("&"));$('body').append(form);form.append(input1);form.submit();form.remove();});同理提交多個數據就多使用幾個input.
轉載于:https://www.cnblogs.com/tuifeideyouran/p/4397568.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Ajax 生成流文件下载 以及复选框的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: struts2,实现Ajax异步通信
- 下一篇: CellSet 遍历