项目总结—从零开始(4)

1.在使用struts时,页面中用的是form表单提交时,比如<input type="text" name="jjj"/>,那么提交时,action中得到的只是string类型,比如用的时间标签<s:date name="shareTime" format="yyyy-MM-dd HH:mm:ss" />,按道理action中拿到的应该是date类型,但是拿到的是string类型,一种方法把string 转成date型,一种是name中写成

contactShare.shareTime,因为对象contactShare中的shareTime是date型。


2.在用form表单提交时,如果写成<form method="post"  action="..">,那么在action中表单数据都能拿到,但如果页面中有比较复杂的数据,比如一个list或者数组的话,页面就不能拿到,那时要写成如下这样<form method="post" id="contactForm" enctype="multipart/form-data">,action中就能拿到。


3.在写js时,由于经常要在js中动态在页面中加入元素,例如:

 str+="<div>"+data.email+"<span style='width:15%;height:18.5px;font-size:90%;display: inline-block;text-align: center;color:#8C8C8C'><a οnclick=\"CenterWindow('contactHistoryRecord!findContact.action?customerID="+data.customerID+"','1024','768','resizable=yes,scrollbars=yes');\" href='#'>"+"+("+count+")"+"</a></span></div>";

由于双引号中只能用单引号,而如果加入的那段代码中,单引号很多,往往会搞混,解释器解释时也会乱掉,所以要用\"来转义这是个双引号,例如上面这句中οnclick=\"CenterWindow('contactHistoryRecord!findContact.action?customerID="+data.customerID+"','1024','768','resizable=yes,scrollbars=yes');\"


4.jquery中遍历方法each()两种用法(each() 方法规定为每个匹配元素规定运行的函数):一。

$.each($(":checkbox:checked"),function(){
        if($(this).val().length==36)
            {
               cusID=cusID+$(this).val()+"#";
            }
    });为每个选中的复选框进行求和运算.

二。 $("li").each(function(){
      alert($(this).text())
    });弹出每个列表项的值。或者例如:

//将文档的所有元数据拼接成metadataJson字符串
                       var metadataJson = "{";
                       $(".metadataTr").each(function(){
                           //alert($(this).find(".matadataKey").attr("value"));
                           metadataJson += "\""+$(this).find(".matadataKey").attr("value")+"\":"+
                               "\""+$(this).find(".matadataValue").attr("value")+"\",";
                       });

在用ajax提交的方式中,也经常用到each(),对返回的list对象进行遍历,如下:

var content="";
        $.ajax(
                {
                        type:'post',
                        dataType:'json',
                        url:"contactGroup!listGroup.action",
                        success: function(data){
                                    $.each(data, function(number,value) {
                                          var num=(number+1)%3;
                                          if(num==0)
                                              {
                                          content=content+"<span><input type='checkbox' class='cusCheckBox' name='contactGroupIDs' value='"+
                                          value.contactGroupID+"'/>"+value.groupName+"</span><br />";
                                          }else{
                                             content=content+"<span><input type='checkbox' class='cusCheckBox' name='contactGroupIDs' value='"+
                                          value.contactGroupID+"'/>"+value.groupName+"</span>&nbsp;&nbsp;";
                                          }
                                      });  
                                          $("#belongTo").append(content);
                                               }
                }
             )其中number是每条记录的顺序,从零开始


5.js中如何获得一个页面元素的位置,如下:

var subSpan = document.getElementById("subSpan");
    var subCheckbox = document.getElementById("subCheckbox")
    var left = subSpan.offsetLeft+subSpan.offsetWidth+subCheckbox.offsetWidth+10;
    var top = subSpan.offsetTop;

对应的页面元素是如下:<span id="subSpan"> <b><s:text name="enpdoc.subscribe"/></b> </span><input type="checkbox" id="subCheckbox" name=""/>

offsetLeft是元素到页面左端的距离,offsetWidth是页面元素的长度,offsetTop是离页面顶端的距离,我在项目中通过这个方法获得一个元素的页面位置,然后将隐藏的一个div元素显示在那个元素的周围。


6.在用html中的列表元素时<ul><li>时,加上style="list-style-type:none;"可将原点去掉。


7当页面中的一个元素没有更改position属性时,在js中是不能改变它的位置的,必须写成:position:absolute;





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值