记录week3
来源:互联网 发布:安卓底部导航栏源码 编辑:程序博客网 时间:2024/06/15 07:47
What I Get
1、Delete具体实现
1)利用post传参数给后台:创建虚拟表单form,不显示,定义method为“post”;增加元素并且将文件名作为value的值;然后提交。
2)删除文件这个操作有风险,需要再次确认是否要删除改文件:利用boostrap模态框实现。
3)进度:完成
delete_a.onclick = function DeleteFileAlert() { var delete_show=document.getElementById("DeleteShow"); delete_show.innerHTML="Delete file " + filename + " ?"; var delete_b = document.getElementById("delete_b"); delete_b.onclick = function DeleteFile() { //js创建虚拟表单来POST参数; var tempform = document.createElement("form"); tempform.action="/delete"; tempform.method="POST"; tempform.style.display="none"; //传递参数按钮 var tempinput= document.createElement("input"); tempinput.name="name"; tempinput.value=filename; tempform.appendChild(tempinput); document.body.appendChild(tempform); /*提交按钮 注意:即使js给form对象提供了submit()方法,那也不意味表单中可以不写提交按钮这个元素,即form表单依然需要五脏俱全才可以使用js的submit()方法进行提交。 ***发现将提交按钮元素删除后,也可以成功submit*** */ var opt = document.createElement("input"); opt.type = "submit"; //tempform.appendChild(opt); tempform.submit(); document.body.removeChild(tempform); } }
更多:
- http://www.w3school.com.cn/jquery/ajax_post.asp
- http://blog.csdn.net/jj88888/article/details/49804015
2、Edit实现
edit有两个功能:查看和保存修改
1)查看
通过xmlhttp.responseText把文件内容读取出来,然后显示在div里。
把代码转为文本显示:
replace(/</g,"<")//每当找到<,就将它替换成<replace(/>/g,">")//每当找到>,就将它替换成>
不足之处:在div里显示的文本会失去换行,被一个空格替换,多个空格也会被一个空格替换。
改进:将div标签改为pre标签(pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。pre标签的一个常见应用就是用来表示计算机的源代码。)
进度:已实现换行。:)
7.28发现的bug
无法加载最新版本的文件内容,显示的是之前浏览器缓存的内容,需要重复操作2次后,才能正常显示最新版本的内容。
原因:浏览器缓存机制
解决方法:在请求文件的URL上添加随机数,防止浏览器使用缓存文件就好
url=”./static/files/vasp” + “/” + filename+ “?d=” + Math.random();
浏览器缓存机制:
http://www.techweb.com.cn/network/system/2016-01-05/2252395.shtml
2)保存修改
点击按钮后,保存文件并且关闭对话框。
* 关闭对话框 $(function () { $('#EditModal').modal('hide') });
对话框消失,但是后面的蒙版没有消失,而且透明度为0,因此,选择使用属性data-dismiss:
<button type="button" class="btn btn-primary" onclick="SaveFile()" id="save_b" data-dismiss="modal">Save changes</button>
感想:耗费了太长时间在$(‘#EditModal’).modal(‘hide’),没有想到data-dismiss,不够灵活。:(
* 保存文件
写好了save方法,调用save方法,然后将文件传给saveFile 。创建虚拟表单,分别传文件名和文件内容post到后台,方法与实现delete功能类似。
尚未解决:换行和空格没有实现。
- 记录week3
- pentesterlab学习记录-week3
- Week3
- week3
- week3
- week3
- week3
- test Week3
- Week3 作业
- POMM-week3
- FERMI-week3
- week3-1
- WEEK3-5
- WEEK3-HOMEWORK
- Oct week3
- Leetcode Week3
- leetcode week3
- week3 归一化
- hdu6090_2017 Multi-University Training Contest
- try-catch-fianlly
- HDU
- Python:递归输出斐波那契数列
- java 正则表达式隐藏手机号中间四位
- 记录week3
- 虚拟币开发专题(山寨币现在都有什么矿池在支持)
- Whitelabel Error Page
- Caffe学习:pycaffe利用caffemodel进行分类=>裁剪图片
- 【备忘】大型SpringMVC,Mybatis,Redis,Solr,Nginx,SSM分布式电...
- 30分钟掌握ES6/ES2015核心内容(上)
- 一个Log系统,客户端运行起来,排除那些可以输出(编辑器文件)
- 修改Android源码5.0开机横屏
- 树状数组学习总结