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

  • 相关阅读:
    yii2 gii 命令行自动生成控制器和模型
    控制器中的方法命名规范
    Vue Property or method "" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based
    IDEA插件:GsonFormat
    Spring Boot : Access denied for user ''@'localhost' (using password: NO)
    Typora添加主题
    Git基础命令图解
    Java Joda-Time 处理时间工具类(JDK1.7以上)
    Java日期工具类(基于JDK1.7版本)
    Oracle SQL Developer 连接Oracle出现【 状态: 失败 -测试失败: ORA-01017: invalid username/password; logon denied】
  • 原文地址:https://www.cnblogs.com/cuiyf/p/3119863.html
Copyright © 2011-2022 走看看