zoukankan      html  css  js  c++  java
  • js表单提交,面向对象

    一.js表单验证之后再提交

    1.普通按钮onclick函数调用表单的submit()函数

      <input type=button name="submit1" value="登陆" onclick="check(this.form)"> 

    2.submit类型的input添加onclick函数,如果返回false,则继续处理事件,从而触发onsubmit函数;如果返回true,则停止处理事件。

       <input type=submit name="submit1" value="登陆" onclick="return check(this.form)"> 

    3.把onsubmit的检查放在form属性里

    <form action="login.do?act=login" method="post" onsubmit="return check(this)">

    4.ajax提交,用于对表单数据做些转换再提交

    二.js创建对象

    1.工厂模式

    function showColor(){
       alert(this.color);
      }
      
      function Car(){
       var ōcar = new Object();
       ocar.color = color;
       ocar.doors = door;
       ocar.showColor = showColor;
       return ocar;
      }

    var car1 = Car();
    var car2 = Car();
      调用此函数时将创建新对象,并赋予它所有的属性和方法。使用此函数可以创建2个属性完全相同的对象。当然我妹可以通过给它传递参数来改版这种方式。当然可以通过给它传递参数来改版这种方式。

    更简单的方式:

    return {

       "color":color,

       "doors":door,

       "showColor":showColor;

    }

    2.构造函数new出来

    function Car(color,door){
       this.color = color;
       this.doors = door;
       this.showColor = function(){
        alert(this.color)
       };
      }
      
      var car1 = new Car("red",4);
      var car2 = new Car("blue",4);

    3.原型方式(单例模式)

     function Car(){
     }
      
     Car.prototype.color = "red";
     Car.prototype.doors = 4;
     Car.prototype.arr = new Array("a","b");
     Car.prototype.showColor = function(){
         alert(this.color);
     }
    var x=new Car()
    var y=new Car()

    x和y指向同一个arr对象

    4.原型方式定义函数+构造函数定义成员变量

      function Car(color,door){
       this.color = color;
       this.doors = door;
       this.arr = new Array("aa","bb");
      }
      Car.prototype.showColor(){
       alert(this.color);
      }
      
      var car1 = new Car("red",4);
      var car2 = new Car("blue",4);
      
      car1.arr.push("cc");
      
      alert(car1.arr);  //output:aa,bb,cc
      alert(car2.arr);  //output:aa,bb

    5.动态原型方式

    动态原型的方式同混合的构造函数/原型方式原理相似。唯一的区别就是赋予对象方法的位置。

     function Car(color,door){
       this.color = color;
       this.doors = door;
       this.arr = new Array("aa","bb");
       
       if(typeof Car._initialized == "undefined"){
        Car.prototype.showColor = function(){
         alert(this.color);
        };
        Car._initialized = true;
       }
      }
  • 相关阅读:
    SQL Functions
    wse 3.0
    mvc2 在 .net 4 下的ValidateInput(false) 无效
    FF3.0 不可以post空
    也谈.NET MVC 2 + ExtJS的部署问题
    ExtJs懒人笔记(2) ExtJs页面布局
    关于算法—— 一维字符串数组之间组合问题的C#实现
    (转)在ASP.NET 中实现单点登录(利用Cache, 将用户信息保存在服务器缓存中)
    XML中配置正则表达式的写法
    .NET MVC 下实现消息推送
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/5475065.html
Copyright © 2011-2022 走看看