js表单提交,面向对象

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

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

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

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

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

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

<form action="login.do?act=login" method="post" οnsubmit="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;
   }
  }

 

转载于:https://www.cnblogs.com/weiyinfu/p/5475065.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值