这段时间在做项目尾声中遇到的一些小的Work Requirements,就直接写遇到的问题了。
1. 如图
客户需求允许添加两个duplicate的paragraph,当其状态为Optional时,在添加Rule的时候点击Modify Paragraph时弹出的页面中显示这些Paragraphs。下面的List显示在Table中,为了获取其状态-'Optional',费了一会功夫。
for (var i=0;i<length;i++){ var paraid = window.opener.downloadList.rows[i].cells[0].outerText; var paraOV = window.opener.downloadList.rows[i].cells[1].firstChild.value; if (paraOV == "Optional"){ // 具体的逻辑代码 } }
特别是 window.opener.downloadList.rows[i].cells[1].firstChild.value; 搞了半天才,弄出来。 因为逻辑的需要要循环遍历父页面里的整个table,后来在以前别人的代码中找到firstChild这一属性,终才解决问题。写出来共遇到同样问题的兄弟姐妹参考。
还有就是添加的Rule中不允许有重复的,即使Paragraph中有重复的,后来在网上找到一段移除数组中重复元素的代码。
function unique(data){ data = data || []; var a = {}; for (var i=0; i<data.length; i++) { var v = data[i]; if (typeof(a[v]) == 'undefined'){ a[v] = 1; } }; data.length=0; for (var i in a){ data[data.length] = i; } return data; }
感觉还不错,贴出来共同学习。
2.就是像baidu那样,输入完搜索关键字后,即使focus还在<input type="text">上,搜索按钮是<input type="button">的情况下,按下Enter键时,相当于点击button。
1. <body οnkeydοwn="bodyKeyDown();"> 2. function bodyKeyDown() { if(event.keyCode == 13) { if(count == 0) document.getElementById("btnB").click(); else document.getElementById("btnA").click(); } }
两处要注意的地方。当event.keyCode==13,就是按下Enter。 "btnA","btnB"为两个button的id。
如有不当之希望大家指点,谢谢!