Ext.onReady(function(){
//提示信息初始化
Ext.QuickTips.init();
/*//创建一个窗口,将注册窗口放到里面去
var panel = new Ext.Window({
bodyStyle:"center",
renderTo:Ext.getBody()
});*/
var jsons = [
{cid:1,cname:"长沙"},
{cid:2,cname:"株洲"},
{cid:3,cname:"湘潭"},
{cid:4,cname:"衡阳"}
];
//创建代理
var proxy1 = new Ext.data.MemoryProxy(jsons);
var city = Ext.data.Record.create([
{name:"cid",type:"int",mapping:"cid"},
{name:"cname",type:"String",mapping:"cname"}
]);
//创建reader
var reader1 = new Ext.data.JsonReader({},city);
//远程调用的JSON数据
var reader = new Ext.data.JsonReader({},
[{name:"username",type:"String",mapping:"username"},
{name:"password",type:"String",mapping:"password"},
{name:"sex",type:"String",mapping:"sex"},
{name:"love",type:"String",mapping:"love"}]
);
//创建Store
var store1 = new Ext.data.Store({
proxy:proxy1,
reader:reader1,
autoLoad:true
});
var combobox = new Ext.form.ComboBox({
//renderTo:Ext.getBody(),
triggerAction:"all",
store:store1,
displayField:"cname",
valueField:"cid",
mode:"local",
emptyText:"请选择湖南城市"
});
//panel的子类formPanel,做一个登录的窗口==================================================
var formPanel = new Ext.form.FormPanel({
//url:'',//表单提交的地址
method:"post",
baseParams:{extra:"中华人民共和国",id:100},//隐藏表单域传值
defaultType:"textfield",//下面的items没有定义xtype属性时,默认为textfield
title:"会员注册",//标题
width:500,//宽度
height:400,//高度
bodyStyle:"padding:6px",//正文区域样式
frame:true,
labelAlign:"right",
items:[
//文本域
new Ext.form.TextField({
name:"username",
allowBlank:false,
width:200,
fieldLabel:"用户名",
labelAlign:"right"
//regex:/^\w{6,}$/自定义的规则
}),
//密码域
{
name:"password",//密码
width:200,
allowBlank:false,//是否允许为空
inputType:"password",//输入类型
xtype:"textfield",//相当于new Ext.form.textField
fieldLabel:"密码",//文本框提示信息
labelAlign:"right"
},
//单选按钮组
new Ext.form.RadioGroup({
name:"sex",
fieldLabel:"性别",
items:[
new Ext.form.Radio({
name:"radSex",//单选按钮的属性
checked:true,//是否被选中
boxLabel:"男",//显示值
inputValue:"man"//实际值
}),
new Ext.form.Radio({
name:"radSex",//单选按钮的属性
boxLabel:"女",
inputValue:"woman"
})
],
width:100
}),
//复选框组
new Ext.form.CheckboxGroup({
name:"love",
fieldLabel:"我的爱好",
items:[
new Ext.form.Checkbox({
name:"lovely",
boxLabel:"看EXT",
inputValue:"girl",
checked:true
}),
new Ext.form.Checkbox({
name:"lovely",
boxLabel:"上网",
inputValue:"internet"
}),
new Ext.form.Checkbox({
name:"lovely",
boxLabel:"钓鱼",
inputValue:"fish"
}),
new Ext.form.Checkbox({
name:"lovely",
boxLabel:"打牌",
inputValue:"card"
})
],
width:300
}),
//数字框
new Ext.form.NumberField({
fieldLabel:"最喜欢的数字",
width:200,
name:"numName"
}),
new Ext.form.TextField({
name:"urladdress",
allowBlank:false,
width:200,
fieldLabel:"个人喜欢的网站",
labelAlign:"right",
vtype:"url"
}),
new Ext.form.TextField({
name:"email",
width:200,
allowBlank:false,
fieldLabel:"个人邮箱",
labelAlign:"right",
vtype:"email"
}),
//下拉选项
combobox
,
//家庭地址,文本域
new Ext.form.TextArea({
name:"familyAddress",
fieldLabel:"家庭地址",
width:250,
height:50
}),
//时间点选择器
new Ext.form.TimeField({
name:"workTime",
xtype:"timefield",
fieldLabel:"上班时间",
increment:30,//增长间隔
format:"H:i",//格式
minValue:"6:00",//最小时间
maxValue:"21:00"//最晚时间
}),
//在线编辑器
/* new Ext.form.HtmlEditor({
name:"htmlEdit",
fieldLabel:"在线编辑器",
height:150,
enableLists:false,
enableSourceEdit:false
}),*/
//上传文件域
new Ext.form.TextField({
name:"photo",
fieldLabel:"上传照片",
inputType:"file",
width:"300px"
})
],
buttons:[{
text:"用户注册",
tooltip:"点击此按钮<br>进行用户注册",
tooltipType:"qtip",
handler:function(){
var username = formPanel.getForm().findField("username").getValue();
var password = formPanel.getForm().findField("password").getValue();
Ext.MessageBox.alert("提示信息",username+"正在登录,密码为:"+password);
//提交表单是以AJAX提交的(默认)
/*formPanel.getForm().submit({
success:function(){
},
failure:function(){
}
});*/
}
},{
text:"重置",
tooltip:"点击此按钮,<br>您填写的值将会被清空",
tooltipType:"qtip",
handler:function(){
formPanel.getForm().reset();//重置表单
}
},{//用本地的数据初始化
text:"本地数据",
tooltip:"点击此按钮,<br>表格将会被本地数据初始化",
tooltipType:"qtip",
handler:function(){
var json = {
username:"朱湘鄂",
password:"123123",
sex:"woman",//单选按钮不支持中文
love:"card"
};
formPanel.getForm().setValues(json);//重置表单
}
},{//用本地的数据初始化
text:"远程数据",
tooltip:"点击此按钮,<br>表格将会远程数据被初始化",
tooltipType:"qtip",
handler:function(){
formPanel.getForm().reader = reader;//
formPanel.load({url:"../formJson"});
}
}],
buttonAlign:"center",
renderTo:Ext.getBody()
});
});
分享到:
相关推荐
首先,我们要理解表单(Form)在ExtJS中的基本概念。表单是数据输入和验证的核心组件,可以包含各种字段类型,如文本框、下拉菜单、复选框等。这些字段可以通过`Ext.form.field.Field`基类进行扩展,每个字段都有其...
在本篇文章中,我们将深入探讨如何在ExtJs框架中有效地获取表单元素的值,并结合提供的代码示例进行详细解析。对于前端开发者来说,掌握如何高效地操作表单元素是必不可少的一项技能,尤其是在使用像ExtJs这样的强大...
在本文中,我们将深入探讨如何优化EXTJS中的Form表单提交过程,特别是在EXTJS应用程序中。EXTJS是一个强大的JavaScript框架,用于构建富客户端Web应用程序,而表单提交是任何应用程序中不可或缺的部分。优化这一过程...
`Ext.form.Panel`是Extjs4提供的一个用于创建复杂表单的组件。它允许开发者构建包含多个输入字段、按钮以及其他交互元素的表单,并且提供了大量的功能来帮助处理表单数据,如验证、提交以及数据绑定等。 ### 二、...
ExtJs 4.0的FormPanel对象提供了`getForm()`方法获取表单实例,然后通过`form.submit()`或`form.serialize()`方法完成数据的序列化。 4. **表单提交过程** - **创建表单组件**:首先,定义一个FormPanel,并在其...
`Ext.form.Action`是ExtJS中的一个类,用于处理表单提交和加载数据的动作。它提供了多种配置选项和属性来控制表单操作的过程。 **配置项** - **success**: 执行成功后的回调函数,该函数接收两个参数:`form`(当前...
ExtJS的表单使用FormPanel容器 表单使用的布局方式:form和formtable布局 ExtJS的表单和html的form标签是相似的,新建一个FormPanel实际上就是新建一个html的form标签,只是添加许多Ext的样式而已
2. **创建表单实例**:使用ExtJS的`Ext.form.Panel`或其他相关的表单类来创建一个空的表单容器。 3. **动态生成字段**:根据数据模型或者运行时的条件动态创建并添加字段到表单中。 4. **数据绑定**:将表单与数据...
### Extjs 表单验证详解 #### 一、引言 在现代Web开发中,确保用户输入的有效性和安全性至关重要。Extjs作为一种强大的JavaScript框架,提供了丰富的功能来帮助开发者轻松实现客户端验证。本文将深入探讨Extjs中的...
在基于ExtJS Form表单的项目中,Grid Panel通常用于显示和编辑由Form表单收集或处理的数据。 源码分析可以从以下几个方面展开: 1. **组件创建**:首先,我们需要了解如何创建一个Grid Panel。这通常涉及到定义...
主要用例子说明extjs4的form表单的运用,其中有表单属性说明,表单控件运用说明如: title:'表单', //表单标题 bodyStyle:'padding:5 5 5 5', //表单边距 height:120, //表单高度 width:200, //表单宽度 ...
保存提交代码,extjs4.0 // 重置 和 保存 按钮. buttons: [{ text: '重置', handler: function() { this.up('form').getForm().reset(); } }, { text: '保存', /*formBind: true, //only enabled once the ...
本文将深入探讨如何在ExtJs中使用`FormPanel`组件结合`form`和`column`布局属性来实现横向布局,即在一个表单中元素能够按照列分布,形成一种更为直观和用户友好的界面设计。 ### 一、理解`FormPanel`及其属性 `...
它提供了一整套组件化的用户界面元素,包括表单(Form)、网格(Grid)、树形视图(Tree)等,使得开发者能够创建出功能丰富且交互性强的前端应用。在深入探讨ExtJS 4的基础知识之前,首先确保你已经下载了ExtJS ...
首先,我们需要了解ExtJS中的表单组件(`Ext.form.Panel`)。表单面板是承载输入字段和其他表单元素的容器。创建一个基本的表单,你可以这样写: ```javascript var formPanel = Ext.create('Ext.form.Panel', { ...
在“extjs-form:使用 Sencha ExtJS 的简单表单”这个主题中,我们将深入探讨如何利用 ExtJS 创建功能丰富的表单。 首先,让我们了解 ExtJS 表单的基本结构。一个表单通常由若干个字段(Field)组成,每个字段都有...
EXTJS表单验证主要依赖于`Ext.form.field.Base`组件,它是所有表单字段的基础类。每个表单字段都可以配置验证规则,通过`vtype`属性定义基本的验证类型,或者使用`validators`属性自定义验证函数。对于特殊字符的...
在开发使用Extjs4框架的应用程序时,可能会遇到form表单提交后,无法正确进入success回调函数的问题。针对这个问题,首先需要进行两个方面的检查和确认,以确保form提交操作能够顺利进入success回调函数。 首先,...
在这个有关ExtJS的例子中,我们主要关注的是表单(Forms)的定义和Grid的实现。 表单在任何应用程序中都扮演着至关重要的角色,它们用于收集用户输入并将其发送到服务器进行处理。在ExtJS中,表单通常由各种字段...