虽然ext自带的ajax支持还是不错的,可我还是习惯用DWR来做AJAX,因为对于J2ee开发来说这无疑是最好的选择
ext的form提供了两种表单方式,一是ajax的另一种是非ajax的,前者要求服务端返回的数据一定要是json格式,这让我很不习惯,还是dwr的好...在这里用登录窗口的例子,说一下后者。
后台就不多说了,至少需要一个验证用户的service方法 boolean userlogin(String username,String password);
或者返回String类型给用户更详细的登录失败信息。
如果用Struts来做界面控制的话需要一个userlogin.do 获取form提交的username和password,调用service层的userlogin方法决定跳转的页面。
首先添加一个FORM,直接在JS里面写下面代码就可以生成一个FORM ,无需任何页面代码。
js 代码
- var simple = new Ext.form.FormPanel({
-
- labelWidth: 75,
- url:'../userlogin.do',
- method:'POST',
- frame:true,
- title: '登录窗口',
- bodyStyle:'padding:5px 5px 0',
- width: 300,
- defaults: {width: 200},
- defaultType: 'textfield',
-
- onSubmit: Ext.emptyFn,
- submit: function() {
-
- this.getEl().dom.action='../userlogin.do';
- this.getEl().dom.submit();
- },
- items: [{
- fieldLabel: '用户名',
- id: 'username',
- allowBlank:false,
- width:150
- },{
- fieldLabel: '密码',
- id: 'password',
- allowBlank:false,
- width:150,
- inputType:'password'
-
- }
- ],
- buttons: [{
- text: '登录',
- type:'button',
- id:'login',
- handler: login
- },{
- text: '重置',
- type:'reset',
- id:'clear',
- handler: reset
- }
- ]
- });
这个就是ext2.0的form模型,使用了新的Ext.form.FormPanel做form,需要注意的是使用非ajax也就是传统方式的话一定要在form的属性加入这两行:
js 代码
- onSubmit: Ext.emptyFn,
-
- submit: function() {
-
- this.getEl().dom.submit();
-
- },
这是API里指定的用法,可是我这么做确不能正确提交FORM ,仔细检查后发现ext生成的html代码中这个form没有action项,只有id和method,通过form的url属性和在submit参数中直接添加url或者action貌似都不起作用。
所以我在这里又加了一句:this.getEl().dom.action='../userlogin.do';在提交表单的时候 直接把FORM的action属性设置到html里
这样就可以正确提交了,但不知道是不是最好的方法。
button的handler属性值确定了两个按钮按下时触发的方法。
js 代码
- function reset(){
- simple.form.reset();
- }
- function login(item){
- simple.form.submit();
-
- }
当然也可以在login中使用dwr进行ajax形式的表单提交。
分享到:
相关推荐
该例子是使用 Ajax 提交 Ext 表单,并通过 success 和 failer 返回相应的值。
EXT的form表单ajax提交(默认提交方式) 代码如下: 1. function login(item) { 2. 3. if (validatorForm()) { 4. // 登录时将登录按钮设为disabled,防止重复提交 5. this.disabled = true; 6. 7...
4.1.3 Ext.form.field.Base基础表单字段 4.1.4 Ext.form.field.Text文本域 4.1.5 Ext.form.field.TextArea文本区 4.1.6 Ext.form.field.Number数字输入框 4.1.7 Ext.form.field.Checkbox复选框和Ext.form.field....
本篇是关于Ext.Ajax + Ext.FormPanel + MySQL数据库的完整登录案例,一个是html的form表单,一个是Ext的FormPanel表单,在提交或结合Ext.Ajax多少还是有区别的.
碰到使用ajax获得数据,或者提交数据出现乱码 A.8. TabPanel使用autoLoad加载的页面中的js脚本没有执行 A.9. 有关grid的一些小问题 A.9.1. 如何让grid总所有的列都支持排序 A.9.2. 修改一个grid的ColumnModel和...
界面不多,主要包括了Grid的使用,Form表单的使用,Ajax无刷新技术的运用。实现了数据列表及分页显示,数据的增删改,及grid与form的联动效果。 开发平台:WinXP+Tomcat6+MyEclipse6+SQLServer2005+Spket
8.2 Form表单组件 226 8.2.1 DisplayField控件 226 8.2.2 在FormPanel中使用TabPanel 229 8.2.3 DirectLoad与DirectSubmit 232 8.2.4 使用DirectSubmit上传文件 235 8.3 Grid组件 238 8.3.1 一个结合DataWrite和...
7.2.5 使用ajax处理数据的代理:ext.data.proxy.ajax与ext.data.proxy.rest / 308 7.2.6 跨域处理数据的代理:ext.data.proxy.jsonp / 312 7.2.7 为ext.direct服务的代理:ext.data.proxy.direct / 312 7.2.8 ...
碰到使用ajax获得数据,或者提交数据出现乱码 A.8. TabPanel使用autoLoad加载的页面中的js脚本没有执行 B. 修改日志 C. 后记 C.1. 2007年12月5日,迷茫阶段 C.1.1. 仇恨 C.1.2. 反省 C.2. 关于ext与dwr整合部分的...
本文实例为大家分享了PHP AjaxForm提交图片上传并显示图片的具体代码,供大家参考,具体内容如下 PHP dofile.php 文件上传源码 <?php $file_upload = "upload/"; $file_allow_ext='gif|jpg|jpeg|png|gif|zip|rar...
碰到使用ajax获得数据,或者提交数据出现乱码 A.8. TabPanel使用autoLoad加载的页面中的js脚本没有执行 B. 修改日志 C. 后记 C.1. 2007年12月5日,迷茫阶段 C.1.1. 仇恨 C.1.2. 反省 C.2. 关于ext与dwr整合...
12.1.3 Ext.Ajax.request提交XML数据 12.2 Ext.Updater基础 12.2.1 Ext.Updater.update方法 12.2.2 Ext.Updater.update操作示例 12.3 利用Ajax优化Web应用框架 12.3.1 多级联动菜单 12.3.2 Ajax修改用户密码 ...
12.1.3 Ext.Ajax.request提交XML数据 12.2 Ext.Updater基础 12.2.1 Ext.Updater.update方法 12.2.2 Ext.Updater.update操作示例 12.3 利用Ajax优化Web应用框架 12.3.1 多级联动菜单 12.3.2 Ajax修改用户密码 ...
-使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。...
它扩展了 GWT,在 ExtJs 的基础上实现了有排序功能的表格(Grid)、分页、过滤,支持有拖拽功能的树,高度可定制的组合下拉框(Combobox)、目录、对话框、表单(Form)以及功能丰富、强大且易用的 API。 GWT-Ext ...
12.6 为表单添加提交事件............................. 332 12.7 清空表单信息........................................ 335 12.8 删除指定的学生信息............................. 336 12.9 在Grid和Form之间...
-这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。 -简单方便,示例可以参考 default.aspx 或者 other\...
formpanel可以这样使用,api上的例子: 代码如下: var panel=Ext.create(‘Ext.form.Panel’, { title: ‘Simple Form’, bodyPadding: 5, width: 350, // 将会通过 AJAX 请求提交到此URL //url: ‘save-form.php’,...
二、Ext.form.FormPanel类 93 三、提交表单至服务器 97 四、小结 100 第十六章:更多表单组件 102 一、您能说出哪些表单组件呢? 102 二、表单组件关系图 102 三、组件配置选项介绍 103 四、完整源代码 107 五、小结...
form id=”form1″ runat=”server”> ”center”> <fieldset xss=removed> ”3″ cellspacing=”3″ border=”0″> <tr> <td> ”lblName” Text=”姓名: runat=”server”></asp> </td> <td> <asp:TextBox