zoukankan      html  css  js  c++  java
  • 每日记载内容总结12

    1.window.onload()的用法以及如何处理onload冲突

    用法:

    (1)最简单的调用 在html里面的body标签里面 <body onload="func()"></body>

    (2)用js语句调用 function test(){ }  window.onload=test();

    (3)同时调用多个函数 如在body里面<body onload="func();test();..."></body>

    (4)也可以在js里面  function test1(){} function test2(){}  window.onload=function (){test1();test2();}

    处理onload冲突:

    window.onload的意思是当页面加载完毕的时候执行。通常把JS脚本放在任意的位置,通过window.onload来执行脚本。但是当同 一个页面里出现了两个window.onload=function(){};,就会发现先读的脚本失效了。通常一个页面是只能执行一个 window.onload的,这个时候可以通过下面的方法解决:

        用window.attachEvent和window.addEventListener。

        当某一事件被触发时需要执行某个函数,在IE下可用attachEvent,在FF下则要用addEventListener。

        attachEvent()有两个参数,第一个是事件名称,第二个是需执行的函数;

        addEventListener()有三个参数,第一个是事件名称,但与IE事件不同的是,事件不带"on",比如"onsubmit"在这里应为"submit",第二个是需执行的函数,第三个参数为布尔值;

    if (document.all){//document.all用来测试是否为ie,是则返回true

    window.attachEvent('onload',函数名)//IE中

    }

    else{

    window.addEventListener('load',函数名,false);//firefox , chrome

    }

    原文链接 :http://ce.sysu.edu.cn/hope2008/Education/ShowArticle.asp?ArticleID=8342

    2.url的拼写

    用普通方法:<a href="catalog/companydetail.do?company.companyId=<s:property value="company.companyId" />&&product.productId=<s:property value="product.productId" />"></a>
    用s:url,用s:param传参数:<a href="<s:url namespace="/sell" action="inquirycart"><s:param name="productId" value="productId"/></s:url>"></a>
    用s:url,用普通方法传参数 <a href="<s:url namespace="/business" action="productcheck?productBean.productId=%{productId}"/>"></a>
    用js传参数  window.location.href = "search.do?gosearch=<s:property value='gosearch'/>&&categoryIdHeader=<s:property value='categoryIdHeader'/>&&currentPage=" + pageNum;
    用jquery提交form表单 $("form").attr("action","productupdate.do");$("form").submit(); 如果form不止一个,需要注明换form为#id 传参数的话可用("action","insert.do?method=regist")
    用js提交form表单  获取form var formTest = document.getElementById(); formTest.action="insert.do?method=regist" ; formTest.submit();
    用ajax提交以及传参数:$.ajax({
                        type: "POST",
                        url: "<s:url namespace='/sell' action='removeInqueryCartProduct'/>",
                        data:{ "productIdIndex" : productId},
                        success: function(){
                        }        
                    });

    3.一些搜集的js知识:

    str.substring(0,10)截取前10个字符 从0开始,10-0个字符  str.substring(str.length()-4,str.length()-1)截取倒数2 3 4个字符
    arr.indexOf(arr[a])   返回 arr[a]在数组中的序号
    数组indexOf和lastIndexOf,接受2个参数,第一个表示要查找的项,第二个可选表示从某个位置开始,lastIndexOf从后向前查,没有查到返回-1
    MATH函数,ceil向上舍入,floor向下舍入,round四舍五入,random随机数,返回某个区间的随机数= Math.floor(Math.random*可能数的总数+最小值)
    基本数据类型按值传递数据,而对象类型按引用类型传递数据
    var name = 1;
    var name2 = name;
    alert(name2);//1
     
    var name = "n1";
    var name.age= "22";
    alert(name.age);//undefined
     
    var o = new Object();
    var o1 = o;
    o.name = "a";
    alert(o1.name);//a

    创建对象实例方法。1.new后面跟构造函数 var a = new object(); 2.使用对象字面量 var a={};

    访问对象的属性可以用点表示法,也可以用方括号。方括号的主要优点就是可以通过变量来访问属性,保留字和关键字都可以用方括号的方法来引用.
    除非必须使用变量来访问数据,建议使用点表示法。

    创建数组,var a = new Array(3);//创建长度为3的数组,var b = new Array("a");创建内容为a的数组,即如果参数为数字则创建该长度的数组.

    4.在js中createElement的注意事项:

    针对非 input 元素,各浏览器中,既可以把对元素属性的改变写在显示元素(insertBefore 或 appendChild)之前,也可以在其后。
    针对 input 元素,为了兼容 IE,type 属性写在显示元素(insertBefore 或 appendChild)之前,其它属性写在其后
    var board = document.getElementById("board");
    var e = document.createElement("input");
    e.type = "radio"; //紧接着上一行写
    var obj = board.appendChild(e);
    obj.checked = true;

    5.js里面获取session,application里面的内容
    var userId="<s:property value='#session.user.userId'/>";
    var modifyImageLink="<s:property value='#application["modify_image_link"]'/>";

    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public void getsmsconfig(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
            SmsConfig smsConfig = smsService.getSmsConfig();
            request.setAttribute("smsconfig", smsConfig);
            request.getRequestDispatcher("view/smsconfig/edit.jsp").forward(request,response);
    }

    复习session :

    import javax.servlet.http.HttpSession; //需要引入servlet-api.jar 
    
    HttpSession session = request.getSession(); 
    session.setAttribute("变量名", 值对象); 
    session.getAttribute("变量名"); //此时取出来的是Object, 一般需要强转 
    session.removeAttribute("变量名"); 
    session.invalidate(); //删除所有session中保存的键 

    HttpSession是不能new出来的,
    要从HttpServletRequest中调用getSession方法得到.
    一般也就是request.getSession();

  • 相关阅读:
    AndroidUI组件之ListView小技巧
    iframe属性參数
    Applet 数字签名技术全然攻略
    SoftReference
    递归算法浅谈
    VS2010 打包生成exe文件后 执行安装文件出现 TODO:&lt;文件说明&gt;已停止工作并已关闭
    创建新的Cocos2dx 3.0项目并解决一些编译问题
    ORACLE触发器具体解释
    SRM 624 D2L3: GameOfSegments, 博弈论,Sprague–Grundy theorem,Nimber
    cidaemon.exe进程cpu占用率高及关闭cidaemon.exe进程方法
  • 原文地址:https://www.cnblogs.com/cuiyf/p/3119863.html
Copyright © 2011-2022 走看看