记录week3

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);    
       }
  }

更多:

2、Edit实现

edit有两个功能:查看和保存修改
1)查看
通过xmlhttp.responseText把文件内容读取出来,然后显示在div里。
把代码转为文本显示:

replace(/</g,"&lt;")//每当找到<,就将它替换成&lt;
replace(/>/g,"&gt;")//每当找到>,就将它替换成&gt;    

不足之处:在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功能类似。
尚未解决:换行和空格没有实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值