6.上传文件 下面介绍一个通过拖拽ajax上传文件的实例。
复制代码 代码如下: <!DOCTYPE HTML> <html> <head> <title>Example</title> <style> .table { display: table; } .row { display: table-row; } .cell { display: table-cell; padding: 5px; } .label { text-align: right; } #target { border: medium double black; margin: 4px; height: 50px; width: 200px; text-align: center; display: table; } #target > p { display: table-cell; vertical-align: middle; } </style> </head> <body> <form method="post" action="/UploadHandler.ashx"> <div> <div> <div> Bananas:</div> <div> <input value="2" /></div> </div> <div> <div> Apples:</div> <div> <input value="5" /></div> </div> <div> <div> Cherries:</div> <div> <input value="20" /></div> </div> <div> <div> File:</div> <div> <input type="file" /></div> </div> <div> <div> Total:</div> <div> items</div> </div> </div> <div> <p> Drop Files Here</p> </div> <button type="submit"> Submit Form</button> </form> <script type="text/javascript"> var target = document.getElementById("target"); var httpRequest; var fileList; target.ondragenter = handleDrag; target.ondragover = handleDrag; function handleDrag(e) { e.preventDefault(); } target.ondrop = function (e) { fileList = e.dataTransfer.files; e.preventDefault(); } document.getElementById("submit").onclick = function handleButtonPress(e) { e.preventDefault(); var form = document.getElementById("fruitform"); var formData = new FormData(form); if (fileList) { for (var i = 0; i < fileList.length; i++) { formData.append("file" + i, fileList[i]); } } httpRequest = new XMLHttpRequest(); httpRequest.onreadystatechange = handleResponse; httpRequest.open("POST", form.action); httpRequest.send(formData); } function handleResponse() { if (httpRequest.readyState == 4 && httpRequest.status == 200) { var data = JSON.parse(httpRequest.responseText); document.getElementById("results").innerHTML = "You ordered " + data.total + " items"; } } </script> </body> </html>
效果:
上面的一些例子不同浏览器运行效果可能不同,我用的是chrome浏览器,除了例5和6不支持多文件外,其他例子运行正常。大家可以下载demo。 demo下载地址:Html5Guide.draggable.rar
(编辑:焦作站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|