`

ExtJs--FormPanel简单与后台交互

阅读更多

先看页面中的写法:

     var frm;
  Ext.onReady(function(){
   var form1 = new Ext.FormPanel({
    frame : true,
    width : 300,
    id : "frm",
    layout : "form",
    title : "添加个人信息",
    labelWidth : 70,
    labelAlign : "left",
    renderTo : "form1",
    items : [{
     xtype : "textfield",
     fieldLabel : "用户名",
     name : "username",
     allowBlank : false,
     blankText : "不能为空!请正确填写!",
     anchor : "90%"
    },{
     xtype : "textfield",
     fieldLabel : "昵称",
     name : "smallname",
     anchor : "90%"
    },{
     xtype : "datefield",
     fieldLabel : "注册日期",
     name : "regdate",
     anchor : "90%"
    }],
    buttons : [{
     text : "提交", handler : submit
    },{
     text : "加载", handler : load
    },{
     text : "取消", handler : reset
    }]
   })
   frm = Ext.getCmp("frm");

   //这两句话的意思是:校验
   Ext.QuickTips.init();  
   Ext.form.Field.prototype.msgTarget = 'side';
  })

 

 /**submit**/
  function submit() {
   if (!frm.getForm().isValid())return;
   frm.getForm().submit({
    waitMsg : "正在提交数据……",
    waitTitle : "提示",
    url : "http://localhost:8080/ExtJsApp/formServlet",
    method : "post",
    success : function(form, action) {
     Ext.Msg.alert("提示","保存成功!");
    },
    failure : function(formm, action) {
     Ext.Msg.alert("提示","保存失败:" + action.result.errors.info);
    }
   });
  }
  /**load**/
  function load() {
   frm.getForm().load({
    waitMsg : "正在加载数据……",
    waitTitle : "提示",
    url : "http://localhost:8080/ExtJsApp/formServlet",
    method : "get",
    success : function (form, action) {
     Ext.Msg.alert("提示","加载成功!");
    }
   })
  }
  /**reset**/
  function reset() {
   frm.getForm().reset();
  }

 

 后台servlet:

 


 @Override
 protected void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  response.setContentType("text/json; charset=utf-8");
  String username = request.getParameter("username");
  String smallname = request.getParameter("smallname");
  if (username.equalsIgnoreCase("admin") && smallname.equalsIgnoreCase("ad")) {
   response.getWriter().print("{success:true,errors:{}}");
  } else {
   response.getWriter().print("{success:false,errors:{info:'出错了!'}}");
  }
 }

 

总结:

1、表单动作是表单中数据的加载。要给表单中的字段设置值,可以通过调用字段的setValue方法,也可以直接在初始化字段的时候在配置参数中设置value属性值,另外还有一种方法是通过Ajax的方式从服务器端加载表单中各个字段的值。这种方式也就是我们这里要介绍的表单数据加载。
  ExtJS的表单数据加载通过BasicForm的load方法来进行,表单数据加载动作由类Ext.form.Action.Load定义,执行数据加载动作会到服务器端加载数据,默认情况下服务器端需要返回一个包含success属性及data属性的JSON对象。

2、Ext.Ajax.request([Object options]) : Number

服务器的响应是异步的,因此需要在回调函数中处理服务器端返回的数据。回调函数可以定义在request方法调用的参数options中。另外,在request方法中可以定义Ajax请求的一些其它属性。参数options是一个对象,该对象包含了Ajax请求所需的各种参数及回调处理参数等。options中可以包含的各个属性及含义如下所示:
  url String 指定要请求的服务器端url,默认值为Ajax对象中配置的URL参数值。
  params Object/String/Function 指定要传递的参数,可以是一个包含参数名称及值的对象,也可以是name=xx&birthday=1978-1-1类似的url编码字符串,或者是一个能返回上述两种内容的函数。
  method String 指定发送Ajax请求使用的method,可以是GET或POST方式。默认情况下,如果请求中没有传递任何参数则使用GET,否则使用POST。
  callback Function 指定Ajax请求的回调函数,该函数不管是调用成功或失败,都会执行。传递给回调函数的参数有三个,第一个 options表示执行request方法时的参数,第二个success表示请求是否成功,第三个参数response表示用来执行Ajax请求的 XMLHttpRequest 对象。关于XMLHttpRequest可以通过http://www.w3.org/TR/XMLHttpRequest/查询详细的信息。
  success Function 指定当Ajax请求执行成功后执行的回调函数,传递给回调函数两个参数,第一个参数response表示执行Ajax请求的XMLHttpRequet对象,第二个参数表示执行request方法时的options对象。
  failure Function 指定当请求出现错误时执行的回调函数,传递给回调函数两个参数,第一个参数response表示执行Ajax请求的XMLHttpRequet对象,第二个参数表示执行request方法时的options对象。
  scope Object 指定回调函数的作用域,默认为浏览器window。
  form Object/String 指定要提交的表单id或表单数据对象。
  isUpload Boolean 指定要提交的表单是否是文件上传表单,默认情况下会自动检查。
  headers Object 指定请求的Header信息。
  xmlData Object 指定用于发送给服务器的xml文档,如果指定了该属性则其它地方设置的参数将无效。
  jsonData Object/String 指定需要发送给服务器端的JSON数据。如果指定了该属性则其它的地方设置的要发送的参数值将无效。
  disableCaching Boolean 是否禁止cache。

分享到:
评论
1 楼 javaAlpha 2009-11-12  
最近也是使用Ext做项目。研究一下Ext。

相关推荐

    Extjs4的FormPanel从后台load json数据的要点

    在本篇文章中,我们将深入探讨如何使用Extjs4中的FormPanel组件从后台加载JSON数据,并将其映射到表单的各个字段中进行显示。这是一项非常实用的技术,尤其是在需要动态填充表单的情况下。 ### 一、Extjs4 ...

    Extjs和数据库交互,增删改查

    总结,ExtJS 在与数据库交互时,主要依赖数据模型、存储、代理和各种组件。通过这些工具,开发者能方便地实现Web应用的数据管理,包括增删改查等核心功能。同时,ExtJS 提供的丰富组件和API,使得界面设计和用户体验...

    Extjs4+MVC+struts2后台管理系统

    在"Extjs4+MVC+struts2后台管理系统"中,ExtJS4作为前端框架,负责用户界面的交互和展示,而MVC(Model-View-Controller)设计模式则被用来组织和管理应用程序的逻辑。 MVC模式在ExtJS4中被广泛使用,将应用程序...

    EXTJS 服装批发网站后台

    在“EXTJS 服装批发网站后台”项目中,EXTJS 被用来设计和实现高效、交互性强的用户界面,为服装批发业务提供后台支持。这个后台系统包含了两个主要的功能模块:产品档案管理和订单管理。 1. **产品档案管理**: ...

    ExtJs、ASP.net运用Linq to SQL与SQL储存过程交互.

    ### ExtJs、ASP.net运用Linq to SQL与SQL储存过程交互 #### 1. 基本要点 本文档主要探讨了如何在ExtJs前端框架与ASP.net后端技术结合的场景下,利用Linq to SQL与SQL存储过程进行数据交互。通过这种方式,可以有效...

    ExtJs 动态添加表单

    ExtJS支持数据双向绑定,这意味着表单字段与后台数据模型可以直接关联。通过`bind`方法或`form.loadRecord`方法可以加载和保存数据。 7. **表单验证**: 表单验证是确保用户输入符合预设规则的关键部分。ExtJS...

    extjs+asp.net后台管理系统页面

    ExtJS + ASP.NET 后台管理系统页面是一种常见的企业级应用架构,它结合了JavaScript库ExtJS的前端交互性与微软的ASP.NET后端技术,构建出功能强大的管理界面。下面将详细阐述这两种技术以及它们在后台管理系统中的...

    ASP.net + Extjs 网站通用后台框架

    ASP.NET + ExtJS 网站通用后台框架是一款利用ASP.NET技术和ExtJS 2.2版本构建的高效、灵活的管理界面模板。该框架旨在提供一个标准的后台管理平台,适用于各种类型的Web应用程序,帮助开发者快速搭建功能丰富的管理...

    Extjs+ssh 增删改查

    在添加和修改数据时,FormPanel会与后台进行数据交互。 **2. SSH 框架整合** SSH框架分别处理Spring的依赖注入、Struts的MVC流程和Hibernate的对象关系映射。在实现增删改查功能时,这三部分紧密协作: - **...

    ext开发_前后台交互

    本文将深入探讨如何利用ExtJS进行前后台交互,包括其核心概念、具体操作方法以及注意事项,旨在帮助读者更好地理解和掌握这一技能。 ### ExtJS开发中的前后台交互 #### 组件ID管理与命名规范 在ExtJS开发中,组件...

    ext几个实例

    在EXTJS中,Ext.AJAX和Ext.FormPanel是两个核心组件,它们分别用于异步与服务器进行数据交互和构建用户界面表单。本文将详细介绍如何使用这两个组件构建一个完整的登录案例,包括与MySQL数据库的交互。 **1. Ext....

    基于EXTJS框架的工作流设计器

    3. 当用户对工作流进行操作时,EXTJS会通过Ajax通信与后台交互,传递修改的数据。 4. LINQ to Sql在后台接收到请求后,处理数据操作,如添加、删除、更新工作流记录。 5. 后台处理完成后,将结果返回给前端,EXTJS...

    Extjs+Struts2系统后台管理框架

    6. **Ajax通信**:ExtJS的Ajax组件如AjaxProxy与Struts2的Action进行交互,实现异步数据加载和提交,提高用户体验。 7. **MVC设计模式**:Struts2中的Action、Model、View三部分分别对应控制器、模型和视图,与...

    用Extjs做到学生管理系统

    - 数据表格展示:使用GridPanel显示学生列表,支持排序、过滤和分页,通过ExtJS的数据绑定机制与后台进行交互。 - 搜索功能:提供输入框,实现对学生信息的模糊搜索,使用ExtJS的Filter或QueryMode配置。 - 权限...

    EXTJS网站后台以及JSP+JSTL+EL网站前台

    EXTJS是一种基于JavaScript的前端框架,它主要用于构建交互式的、数据驱动的Web应用程序。EXTJS提供了丰富的组件库,包括表格、表单、菜单、工具栏、图表等多种UI元素,使得开发者能够快速创建出美观且功能强大的...

    ExtJs中处理后台传过来的date对象显示到页面上

    在ExtJs中处理后台传递的Date对象并将其正确地显示在页面上,通常涉及到数据模型(Model)、存储(Store)、列模型(ColumnModel)以及渲染器(Renderer)的配置。以下是一个详细的步骤说明: 1. **创建数据模型...

    asp.net下extjs完整实例

    总结来说,"asp.net下extjs完整实例"展示了如何利用EXTJS的强大前端功能与ASP.NET的后端能力进行有效结合,创建出高效、交互性强的Web应用。这种结合方式不仅提升了应用的用户体验,同时也降低了服务器的负载,提高...

    extjs文档的详细介绍

    在EXTJS中,前端与后端的数据交互是通过Ajax请求实现的,这使得页面可以在不刷新的情况下与服务器进行通信。本文将详细介绍EXTJS中两种主要的前后台数据传递方法:`Ext.Ajax.request` 和 `FormPanel` 的 `getForm()....

    extjs2.2开发实战项目 已经发布运行

    项目中,EXTJS通过Store与远程服务器进行数据交互,实现了动态加载、排序、过滤等功能,大大提高了用户体验。 4. **布局管理**:EXTJS2.2的布局系统包括了各种类型的布局,如Fit布局、Border布局、Table布局等。...

    ajax框架之extjs2.0

    它提供了行编辑、列重排、筛选等多种功能,并且可以通过Store与后台数据源进行双向绑定。 **5. FormPanel** FormPanel用于创建表单,支持多种输入控件,如文本框、下拉框、日期选择器等。表单数据可以方便地与...

Global site tag (gtag.js) - Google Analytics