[extjs] ExtJs4.2 Form 表单提交

基本代码:

<script>
Ext.onReady(function(){

	 Ext.create(‘Ext.form.Panel‘, {
		    title: ‘登录‘,
		    bodyPadding: 5,
		    width: 350,

		    // 将会通过 AJAX 请求提交到此URL
		    url: ‘${pageContext.request.contextPath}/back/login.do‘,

		    // 表单域 Fields 将被竖直排列, 占满整个宽度
		     frame: true,
		     layout:‘auto‘,
		    // The fields
		    defaultType: ‘textfield‘,
		    items: [{
		        fieldLabel: ‘用户名‘,
		        name: ‘name‘,
		        allowBlank: false,
				blankText:‘用户名不能为空‘
		    },{
		        fieldLabel: ‘密码‘,
				inputType:‘password‘,
		        name: ‘pwd‘,
		        allowBlank: false,
				blankText:‘密码不能为空‘

		    },{
		    fieldLabel: ‘用户类型‘,
	        name:‘type‘,
	        allowBlank: false,
	        hidden:true, //隐藏组件   默认false
	        value:1//表单默认值
		    }
			],

		    // 重置 和 保存 按钮.
		    buttons: [{
		        text: ‘重置‘,
		        handler: function() {
		            this.up(‘form‘).getForm().reset();
		        }
		    }, {
		        text: ‘保存‘,
		        formBind: true, //only enabled once the form is valid
		        disabled: true,
		        handler: function() {
		            var form = this.up(‘form‘).getForm();
		            if (form.isValid()) {
		                form.submit({
		                    success: function(form, action) {
		                       Ext.Msg.alert(‘提示信息‘, action.result.restMsg);
		                    },
		                    failure: function(form, action) {
		                        Ext.Msg.alert(‘提示信息‘, action.result.restMsg);
		                    }
		                });
		            }
		        }
		    }],
		    renderTo: Ext.getBody()
		});
 });
 </script>

  没有添加字段校验,验证码,密码加密等,只是纯粹的登录功能的实现,具体细节暂时忽略!

login.do 对应的程序:

    /**
     * 登录
     *
     * @return
     */
    @RequestMapping("/login")
    @ResponseBody
    public void login(@RequestParam String name,@RequestParam String pwd,@RequestParam int type,Writer writer) {
        String valMsg ="";
        try {
            User user = new User();
            user.setUname(name);
            user.setPwd(pwd);
            user.setUtype(type);
            User getUser = userService.queryUser(user);
            if(getUser!=null){
                valMsg=showResultMsg(true, "登录成功");
                //跳转到首页
            }else {
                valMsg=showResultMsg(false, "用户不存在!");
            }
        } catch (Exception e) {
            e.printStackTrace();
            valMsg=showResultMsg(true, "登录失败");
        }finally {
            try {
                writer.write(valMsg);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

返回的结果:

{"result":true,"restMsg":"登录成功!"}
时间: 2024-08-06 03:41:01

[extjs] ExtJs4.2 Form 表单提交的相关文章

extjs中form表单提交成功、失败的响应信息

类Ext.form.Action.Submit 处理表单Form数据和返回的response对象的类. 该类的实例仅在表单Form{@link Ext.form.BasicForm#submit 提交}的时候创建. 返回的数据包必须包含一个 boolean 类型的success属性,还有可选地,一个含有无效字段的错误信息的属性 A response packet may contain: ·        success property : Boolean - required. ·     

ExtJS4为form表单必填项添加红色*标识

通常情况下,ExtJS4的form表单必填项在输入状态下会有特殊提示,非输入状态下,显示却和其他项没有任何区别.为使必填项更加容易区分,我们需要根据allowBlank的属性值,为form表单中的必填项添加红色*标识 在ExtJS4的form表单中,常用组件的继承关系图1-1: //为form表单中必填项添加红色*号标志 Ext.override(Ext.form.field.Base,{ //针对form中的基本组件 initComponent:function(){ if(this.allo

ExtJs如何判断form表单是否被修改过详解

1.Extjs表单提交主要有三种方式: 1, EXT的form表单ajax提交(默认提交方式)      相对单独的ajax提交来说优点在于能省略写参数数组 ,form.getForm().submit 3.EXT的ajax提交,Ext.Ajax.request 2.EXT表单的非ajax提交 在我看来:采用第1,2种都很方便,关键是Ext.Ajax.request传递给后台是一个字符串形式的,需要Jason解析 2.记录代码问题: 1 SaveStudentDetails:function(b

ajax传递数组、form表单提交对象数组

在JSP页面开发中,我们常常会用到form表单做数据提交,由于以前一直只是使用form表单提交单个对象,只要表单文本域的name值和接收的对象的属性名一致,那么传值就没有什么问题.不过,在前几天的开发任务中,遇到了需要批量传递对象,也就是需要传递对象数组,在此做个总结.今天又遇到需要向后台传递数组,便一并写下来吧. 1.ajax传递普通数组 前台代码 var deleteNum= [];//定义要传递的数组 deleteNum.push("1"); deleteNum.push(&qu

ajax form表单提交 input file中的文件

ajax form表单提交 input file中的文件 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为了解决这个问题我走了不少弯路: 1.用原生的 input file , 不支持ajax上传文件,你肯定会说可以用 ajax form表单上传了呀?不过我后面还要调用上传成功后用js处理一些对话框,所以这种方法排除 2.用了 uploadify 上传插件,弄出来能上传东西,结果不理想:因为不能判断上传的

Jquery form表单提交

起因 由于项目中原先提交from是通过JavaScript指定action,在submit提交的,使用的方式,也不是很标准,造成除了ie之外的浏览器都不能正常的提交数据,做web项目还是要考虑到浏览器的兼容性的. 1.序列化form,通过Ajax提交 $.ajax({ cache: false, type: "POST", url: "readImage.do", data: $('#ff').serialize(), //序列化表单数据 async: true,

form表单提交转为ajax方式提交

在做项目的过程中遇到要将form表单提交转为ajax方式提交,下面是我总结的如何把form表单提交无缝转为ajax方式提交的方法. 原先的form表单长这样: <form action="xxx" method="get"> //action的值是请求的url地址 <div class="form-group"> <label for="name">姓名</label> <

Linux curl 模拟form表单提交信息和文件

curl是一个命令行方式下传输数据的开源传输工具,支持多种协议:FTP.HTTP.HTTPS.IMAP.POP3.TELNET等,功能超级强大. 我今天想说的是程序开发中常用的模拟Form提交 1.GET提交 特别简单直接写url里面 2.POST提交    通过 --data/-d 方式指定使用POST方式传递数据 3.模拟form表单提交文件  --form/-F 模拟form表单提交文件 这个命令超级好用,再也不用为了写上传接口,而被迫写一个Form表单了 "[email protecte

form表单提交

1.form表单提交.html页面失败 <%--客户端form--%> <form id="form2" action="LoginOne.html" method="post"> <div> 用户名: <input type="text" name="username" value="admin" /> <input type=&q