Ext form实例

Ext.BLANK_IMAGE_URL = "../js/extjs/resources/images/default/s.gif";
Ext.onReady(form11);
function form1() {
	Ext.QuickTips.init();
	Ext.form.Field.prototype.msgTarget = "side";
	var form = new Ext.form.FormPanel({
		title : "用户登陆",
		labelWidth : 60,
		labelSeparator : ": ",
		bodyStyle : "padding:15 5 5 5",
		height : 120,
		width : 250,
		frame : true,
		labelWidth : 60,
		labelAlign : "right",
		applyTo : "form",
		items : [new Ext.form.TextField({
			fieldLabel : "用户名",
			id : "userName",
			minLength : 6,
			minLengthText : "长度不能小于6个字符",
			maxLength : 20,
			maxLengthText : "长度超过了20个字符",
			selectOnFocus : true,
			allowBlank : false,
			blankText : "请填写用户名",
			regex : /^([\w]+)(.[\w]+)*@([\w-]+\.){1,5}([A-Za-z]){2,4}$/,
			regexText : "用户名格式错误"
		}), new Ext.form.TextField({
			inputType : "password",
			fieldLabel : "密码",
			allowBlank : false,
			blankText : "请填写密码",
			minLength : 6,
			minLengthText : "长度不能小于6个字符",
			maxLength : 20,
			maxLengthText : "长度超过了20个字符"
		})]
	})
}
[code="javascript"]function form2() {
	Ext.QuickTips.init();
	Ext.form.Field.prototype.msgTarget = "tip";
	var form = new Ext.form.FormPanel({
		title : "多行文本",
		labelWidth : 60,
		labelSeparator : ": ",
		bodyStyle : "padding:15 5 5 5",
		height : 250,
		width : 250,
		frame : true,
		labelWidth : 60,
		labelAlign : "right",
		applyTo : "form",
		items : [new Ext.form.TextArea({
			fieldLabel : "备注",
			id : "memo",
			width : 150
		}), new Ext.form.Radio({
			name : "sex",
			fieldLabel : "性别",
			boxLabel : "男"
 
		}), new Ext.form.Radio({
			name : "sex",
			fieldLabel : "性别",
			boxLabel : "女"
 
		}), new Ext.form.Checkbox({
			name : "walk",
			fieldLabel : "爱好",
			boxLabel : "散步"
		})],
		buttons : [{
			text : "确定",
			handler : showValue
		}]
	})
	function showValue() {
		var memo = form.findById("memo");
		alert(memo.getValue());
	}
}
 
function form3() {
	var form = new Ext.form.FormPanel({
		title : "练习Trigger",
		labelSeparator : ": ",
		labelWidth : 80,
		bodyStyle : "padding:5 5 5 5",
		frame : true,
		height : 100,
		width : 270,
		applyTo : "form",
		items : [new Ext.form.TriggerField({
			id : "memo",
			fieldLabel : "触发字段",
			hideTrigger : false,
			onTriggerClick : function(e) {
				var memo = form.findById("memo");
				alert(memo.getValue());
			}
		})]
	})
}
 
function form4() {
	var store = new Ext.data.SimpleStore({
		fields : ["province", "post"],
		data : [["南充", "0"], ["成都", "1"], ["广元", "2"], ["乐山", "3"]]
	});
	var form = new Ext.form.FormPanel({
		title : "练习Trigger",
		labelSeparator : ": ",
		labelWidth : 80,
		bodyStyle : "padding:5 5 5 5",
		frame : true,
		height : 100,
		width : 340,
		applyTo : "form",
		items : [new Ext.form.ComboBox({
			id : "post",
			fieldLabel : "四川的城市",
			triggerAction : "all",
			store : store,
			displayField : "province",
			valueField : "post",
			mode : "local",
			forceSelection : true,
			resization : true,
			typeAhead : true,
			value : "3",
			handleHeight : 100
		})]
 
	})
}
 
function form5() {
	var store = new Ext.data.SimpleStore({
		proxy : new Ext.data.HttpProxy({
			url : "/learn/index.jsp"
		}),
		fields : ["bookName"]
	});
	var form = new Ext.form.FormPanel({
		title : "远程数据",
		labelSeparator : ": ",
		labelWidth : 80,
		bodyStyle : "padding:5 5 5 5",
		frame : true,
		height : 100,
		width : 300,
		applyTo : "form",
		items : [new Ext.form.ComboBox({
			id : "book",
			allQuery : "allbook",
			loadingText : "正在加载数据",
			minChars : 3,
			queyDelay : 300,
			queryParam : "searchbook",
			fieldLabel : "书籍列表",
			triggerAction : "all",
			store : store,
			displayField : "bookName",
			mode : "remote"
		})]
	})
}
 
function form6() {
	Ext.apply(Ext.form.VTypes, {
		dateRange : function(val, field) {
			if (field.dateRange) {
				var beginId = field.dateRange.begin;
				/** 根据组件id得到组件 */
				this.beginField = Ext.getCmp(beginId);
				var endId = field.dateRange.end;
				this.endField = Ext.getCmp(endId);
				var beginDate = this.beginField.getValue();
				var endDate = this.endField.getValue();
			}
			if (beginDate  = endDate) {
				return true;
			} else {
				return false;
			}
		},
		dateRangeText : "开始日期不能大于结束日期"
	});
	Ext.QuickTips.init();
	Ext.form.Field.prototype.msgTarget = "side";
	var dateForm = new Ext.form.FormPanel({
		title : "自定义form",
		labelSeparator : ":",
		labelWidth : 80,
		bodyStyle : "padding:5 5 5 5",
		frame : true,
		height : 130,
		width : 300,
		applyTo : "form",
		items : [new Ext.form.DateField({
			id : "beginDate",
			format : "Y年m月d日",
			width : 150,
			allowBlank : false,
			readOnly : true,
			value : new Date(),
			fieldLabel : "开始日期",
			dateRange : {
				begin : "beginDate",
				end : "endDate"
			},
			vtype : "dateRange"
		}), new Ext.form.DateField({
			id : "endDate",
			format : "Y年m月d日",
			width : 150,
			allowBlank : false,
			readOnly : true,
			value : new Date(),
			fieldLabel : "开始日期",
			dateRange : {
				begin : "beginDate",
				end : "endDate"
			},
			vtype : "dateRange"
		})],
		buttons : [new Ext.Button({
			text : "提交",
			handler : function() {
				if (dateForm.form.isValid()) {
					Ext.Msg.alert("提示", "验证通过提交表单");
				}
			}
		})]
	})
}
 
function form7() {
	Ext.QuickTips.init();
	Ext.form.Field.prototype.msgTarget = "side";
	var productForm = new Ext.form.FormPanel({
		title : "表单加载示例",
		labelWidth : 100,
		width : 300,
		frame : true,
		labelSeparator : ": ",
		applyTo : "form",
		items : [new Ext.form.TextField({
			fieldLabel : "产品名称",
			name : "productName",
			width : 150,
			value : "HP5720本本"
		}), new Ext.form.NumberField({
			fieldLabel : "金额",
			name : "price",
			width : 150,
			value : 100
		}), new Ext.form.DateField({
			fieldLabel : "生产日期",
			formate : "Y年m月d日",
			width : 150,
			name : "date",
			value : new Date()
		}), new Ext.form.TextArea({
			id : "introduction",
			name : "introduction",
			fieldLabel : "产品简介",
			width : 150
		})],
		buttons : [new Ext.Button({
			text : "加载简介",
			handler : loadCallBack
		})]
	});
	function loadCallBack() {
		productForm.form.load({
			waitMsg : "正在加载产品简介信息",
			waitTitle : "提示",
			url : "/learn/productServe.jsp",
			method : "POST",
			success : function(form, action) {
				Ext.Msg.alert("提示", "产品加载成功");
			},
			failure : function(form, action) {
				Ext.Msg.alert("提示", "产品简介加载失败失败原因:" + action.failureType);
			}
		});
	}
}
 
function form8() {
	Ext.QuickTips.init();
	Ext.form.Field.prototype.msgTarget = "side";
	var loginForm = new Ext.form.FormPanel({
		title : "登陆",
		labelWidth : 60,
		width : 230,
		frame : true,
		labelSeparator : ":",
		applyTo : "form",
		items : [new Ext.form.TextField({
			fieldLabel : "用户名",
			name : "userName",
			allowBlank : false,
			vtype : "email"
		}), new Ext.form.NumberField({
			fieldLabel : "密码",
			name : "password",
			allowBlank : false
		})],
		buttons : [new Ext.Button({
			text : "登陆",
			handler : login
		}), new Ext.Button({
			text : "重置",
			handler : reset
		})]
	});
	function login() {
		loginForm.form.submit({
			clientValidation : true,
			waitMsg : "正在登录系统请稍后",
			waitTitle : "提示",
			url : "/learn/loginServe.jsp",
			method : "GET",
			success : function(form, action) {
				Ext.Msg.alert("提示", "系统登录成功");
			},
			failure : function(form, action) {
				Ext.Msg.alert("提示", "系统登陆失败" + action.failureType);
			}
		});
	}
	function reset() {
		loginForm.form.reset();
	}
}
 
function form9() {
	var form = new Ext.form.FormPanel({
		labelAlign : 'right',
		labelWidth : 50,
		width : 600,
		title : 'form',
		frame : true,
		items : [{
			layout : 'column',
			items : [{
				columnWidth : .7,
				xtype : 'fieldset',
				checkboxToggle : true,
				title : '单纯输入',
				autoHeight : true,
				defaults : {
					width : 300
				},
				defaultType : 'textfield',
				items : [{
					fieldLabel : '文本',
					name : 'text'
				}, {
					xtype : 'numberfield',
					fieldLabel : '数字',
					name : 'number'
				}, {
					xtype : "combo",
					fieldLabel : '选择',
					name : 'combo',
					store : new Ext.data.SimpleStore({
						fields : ['value', 'text'],
						data : [['value1', 'text1'], ['value2', 'text2']]
					}),
					displayField : 'text',
					valueField : 'value',
					mode : 'local',
					emptyText : '请选择'
				}, {
					xtype : 'datefield',
					fieldLabel : '日期',
					name : 'date'
				}, {
					xtype : 'timefield',
					fieldLabel : '时间',
					name : 'time'
				}, {
					xtype : 'textarea',
					fieldLabel : '多行',
					name : 'textarea'
				}, {
					xtype : 'hidden',
					name : 'hidden'
				}]
			}, {
				columnWidth : .3,
				layout : 'form',
				items : [{
					xtype : 'fieldset',
					checkboxToggle : true,
					title : '多选',
					autoHeight : true,
					defaultType : 'checkbox',
					hideLabels : true,
					style : 'margin-left:10px;',
					bodyStyle : 'marg

你可能感兴趣的:(JavaScript,jsp,prototype,ext)