虽然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形式的表单提交。
分享到:
相关推荐
EXT异步提交FORM表单的核心是通过Ajax技术实现表单数据的后台提交,而无需刷新整个页面。这种方式的主要优点在于能够提供更加流畅的用户交互体验,同时减少了服务器端的负载压力。 ##### 2.2 实现步骤 1. **初始化...
2. **Ajax提交表单**:当表单需要异步提交时,可以利用`Ext.Ajax.request`方法。这个方法接受一个配置对象,其中包含了URL、方法(GET或POST)、数据、成功和失败的回调函数等参数。在本例中,你可能将表单的提交...
7. **表单提交(Form Submission)**:表单可以以两种方式提交:异步(Ajax)或同步(传统的HTTP请求)。异步提交在后台处理数据,不会刷新整个页面,提供了更好的用户体验。 8. **自定义组件(Custom Components)...
其中,`form.submit()`是Ext默认的提交方式,它利用Ajax技术进行数据传输,无需刷新整个页面即可完成数据的提交和响应处理,极大地提升了用户体验。 - **原始的Form提交**:直接使用HTML表单的`submit`方法,适用于...
在HTML中,`<input type="file">`元素用于让用户选择本地文件,然后通过表单提交或使用Ajax进行非表单提交。Ajax文件上传通常结合FormData对象来实现,它允许我们发送二进制数据,如图片、文档等。 在Ext JS中,...
1. EXT的form表单AJAX提交(默认提交方式) EXT的form表单默认采用AJAX方式进行数据提交,这样可以在不刷新页面的情况下与服务器进行异步交互。以下是一个简单的示例: ```javascript function login(item) { if ...
1. **EXT的Form表单AJAX提交**:这是EXT中最常见的提交方式,它允许你在不刷新整个页面的情况下与服务器进行异步通信。通过使用`doAction`方法,你可以方便地触发表单的提交,并指定URL、HTTP方法以及额外的参数。...
通常,Ext JS的表单提交使用Ajax方式,这意味着它可以异步地将表单数据发送到服务器,无需页面刷新。这种方式提供了更好的用户体验,因为用户可以在数据提交的同时继续与应用交互。 在Ext JS中,表单(`Ext.form....
1. 数据提交:EXT 2.0表单支持AJAX提交,可以在后台处理数据验证和保存,无需页面刷新。 2. 表单加载与填充:可以从服务器动态加载表单数据,或根据用户选择填充表单。 3. 表单重置:方便地清空表单字段,恢复到...
2. **实时验证**:EXT表单支持实时验证,这意味着当用户在输入字段中键入内容时,系统会立即检查数据的有效性,并显示相应的错误提示。这是通过监听`change`事件和调用`validate()`方法实现的。 3. **自定义vtype**...
Ext Form提供了一种结构化的方式来组织这些字段,并提供了验证、提交和数据绑定等功能。 动态加载表单数据涉及到的主要知识点包括: 1. **JSON数据格式**:JSON(JavaScript Object Notation)是一种轻量级的数据...
当用户填写完表单并点击提交按钮时,我们通常会使用`Ext.Ajax`对象来实现非刷新的Ajax提交。 "ExtAjax表单提交 L9"可能指的是教程的第九个部分,讲解了如何在EXTJS中实现Ajax表单提交。在EXTJS中,表单的提交过程...
在使用Ext Ajax提交表单前,通常需要先将表单数据序列化为JSON或URL编码格式。ExtJs 4.0的FormPanel对象提供了`getForm()`方法获取表单实例,然后通过`form.submit()`或`form.serialize()`方法完成数据的序列化。 ...
你可以通过这个文档了解到EXT的基础组件,如表格(Grid)、面板(Panel)、窗口(Window)、表单(Form)等,以及如何进行布局管理、数据绑定、Ajax通信等核心功能。同时,它还涵盖了EXT的高级特性,如树形视图...
其中,`Form`控件是Ext JS中一个非常重要的组成部分,它为开发者提供了创建各种类型表单的功能,包括简单的登录表单到复杂的多步骤表单。本文将深入探讨Ext JS中的`Form`控件及其相关配置,帮助开发者更好地理解和...
在EXTJS中,我们可以使用`Ext.application`方法初始化应用,并在`views`配置中定义表单视图。表单通常由`Ext.container.Container`或`Ext.form.Panel`创建,包含`Ext.form.field.Text`(用户名)和`Ext.form.field....
EXT form支持使用`Ext.Ajax`类来进行AJAX提交。当用户填写完表单并点击提交按钮时,可以通过`form.submit()`方法将数据异步发送到服务器。在提交过程中,我们可以设置URL(对应Servlet的URL),以及成功和失败的回...
本文详细介绍了EXT框架中三种主要的提交方式:`form`提交、`Ajax`提交以及同步提交。每种方式都有其适用场景和特点,开发者可以根据实际需求选择合适的方法。需要注意的是,在现代Web应用中,由于用户体验的重要性,...