一.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; } }