1、判断是否为空
function isEmpty(s)
{
return ((s == undefined || s == null ||s == '' || s.replace(/(^\s*)|(\s*$)/g, "")=='') ? true : false);
} 2、判断数组中是否有相等元素
function checkEqual(arr){
for(i=0;i<arr.length;i++){
for(j=i+1;j<arr.length;j++){
if(arr[i].value==arr[j].value){
return true;
}
}
}
return false;
} 3、对HTML标签注册click事件,并获取该元素的父标签,及子标签
Event.on(Dom.getElementsByClassName('check','a'),'click',function(evt){
Event.preventDefault(evt);
var target = Event.getTarget(evt);
var td = Dom.getAncestorByTagName(target,'tr');
ar title = td.getElementsByTagName("input")[0].value;}); 4、对button注册click事件,并提交表单
Event.on("j_add","click",function(evt){
**********
document.form1.event_submit_do_add.value="submit";
document.form1.submit();
}
}); 5、在父元素下创建子元素,动态添加页面元素
var tab =document.getElementById("guanlian");
var newRow = tab.insertRow(0);//添加了一行
var newTd1 = newRow.insertCell(0);
newTd1.innerHTML="关联词名"; 6、借助YUI进行Ajax异步交互
var callback ={
success:function(o) {
var result = o.responseText;
document.getElementById('chk_thesaurus').innerHTML=result;
},
failure: function(o) {
alert("验证请求,链接服务器失败!");
}
}
;
var sUrl = '请求的页面地址及参数';
YAHOO.util.Connect.asyncRequest('GET',sUrl,callback); 7、div样式的两种写法(.divforcheck{ width:500px; height:300px; background-color:#f00; color:#fff; }
<div style="border: 1px dotted black;background-color:#FFFFFF;width:500px ">)
8、confirm的用法
if(confirm("您修改了关联词,请确定在提交前进行了验证")){
document.form1.event_submit_do_add.value="submit";
document.form1.submit();
}
9、webX下AJAX服务器端编码:
1、在反馈ajax请求的页面(Vm页面)中填写符合HTML标准的反馈InnerHTML
2、通过 rundata.getResponse().getWriter().print("var ajaxRequestData_bizType = "+JSONObject.fromObject(tree).toString());
context.put("result", net.sf.json.JSONArray.fromObject(tree).toString());(打成JSON串)
上周五开始一项开发工作,将树形的数据结构放到关系型数据库,并提供页面进行数据的维护,遇到的问题:1、需求不清晰;2、表结构不清晰;3;前端开发技术非常不熟悉;
结果就是开发缓慢,系统交互效果差,做出来的页面自己都不满意,开发慢导致上线压力大,心里压力也大,很严重的加班。。。。。。。
总结下用到的页面技术:1、CSS+DIV样式定义的两种写法(.divforcheck{ width:500px; height:300px; background-color:#f00; color:#fff; }
<div style="border: 1px dotted black;background-color:#FFFFFF;width:500px ">)
2、JS:动态的添加页面元素var tab =document.getElementById("guanlian");
var newRow = tab.insertRow(0);//添加了一行
var newTd1 = newRow.insertCell(0);
var newTdName = newRow.insertCell(1); ;
判断为空function isEmpty(s) { return ((s == undefined || s == null || s == "") ? true : false); }
弹出选择框:if(confirm("您修改了关联词,请确定在提交前进行了验证")){
document.form1.event_submit_do_add.value="submit";
document.form1.submit();}
Ajax交互:
var callback ={
success:function(o) {
var result = o.responseText;
document.getElementById('chk_thesaurus').style.display="";
document.getElementById('chk_thesaurus').innerHTML=result;
document.getElementById('chk_thesaurus').display = "block";
},
failure: function(o) {
alert("验证请求,链接服务器失败!");
}
}
;
var sUrl = 'ajax/checkThesaurus.htm?relName='+encodeURIComponent(encodeURIComponent(title));
YAHOO.util.Connect.asyncRequest('GET',sUrl,callback); 服务器段java代码两种写法:1、在反馈ajax请求的页面中填写符合HTML标准的反馈InnerHTML
2、通过
rundata.getResponse().getWriter().print("var ajaxRequestData_bizType = "+JSONObject.fromObject(tree).toString());
context.put("result", net.sf.json.JSONArray.fromObject(tree).toString());(打成JSON串)
3、表单提交处理(JS提交表单)document.form1.event_submit_do_add_treeWordProperty.value="submit";
document.form1.submit();
java代码的Exception控制、异常处理
之前正则一直不支持嵌套循环的验证即类似于html的格式较验,昨天晚上无聊就考虑了一下这个的可实现方式:通过维护特征“符号”队列来实现
如在有特定格式的文件中(标签成对出现的情况下)顺序读入待验证标签放入队列中,较验对应的下一个输入如果为与该标签对应的标签那么将该标签从队列中弹出,如果不对应则将下一个标签也放入队列中,进行下一次的验证直到该文件结束时如果队列恰好为空那么证明文件较验通过