读书人

解决extjs 单选及其传值的有关问题

发布时间: 2012-11-09 10:18:47 作者: rapoo

解决extjs 单选及其传值的问题
一种是form里面直接提交传值给后台的例子:

Ext.onReady(function(){var formPanel = new Ext.FormPanel({id : "formPanel",name : "formPanel",width : 800,renderTo : "formPanelDiv",onSubmit: Ext.emptyFn,       submit: function(){    this.getEl().dom.action="formPanel.htm";         this.getEl().dom.submit();    },items : [new Ext.form.TextField({id : "id",name : "id",allowBlank : false,blankText : "ID不能为空",fieldLabel : "ID",labelStyle : "text-align:right"}),new Ext.form.TextField({id : "name",name : "name",allowBlank : false,blankText : "姓名不能为空",fieldLabel : "姓名",labelStyle : "text-align:right"}),new Ext.form.RadioGroup({fieldLabel : "性别",labelStyle : "text-align:right",width : 80,items : [new Ext.form.Radio({name : "sex",boxLabel : "男",inputValue : "male",width : 20}),new Ext.form.Radio({name : "sex",boxLabel : "女",inputValue : "female",width : 20})]}),new Ext.form.TextField({id : "email",name : "email",fieldLabel : "邮箱",labelStyle : "text-align:right"})],buttons : [{text : "登录",id : "btn_login",handler : function(){if(formPanel.getForm().isValid()){formPanel.getForm().submit();}}},{text : "重置",id : "btn_reset",handler : function(){formPanel.getForm().reset();}}],buttonAlign : "center"});});


后台是controller或jsp可以直接接收form提交过来的值
String sex= request.getParameter("sex");
...........

第二种是用ajax传值的例子:

Ext.onReady(function(){       Ext.QuickTips.init();       Ext.override(Ext.form.RadioGroup, {          getValue: function(){              var v;              if (this.rendered) {                  this.items.each(function(item){                      if (!item.getValue())                           return true;                      v = item.getRawValue();                      return false;                  });              }              else {                  for (var k in this.items) {                      if (this.items[k].checked) {                          v = this.items[k].inputValue;                          break;                      }                  }              }              return v;          },          setValue: function(v){              if (this.rendered)                   this.items.each(function(item){                      item.setValue(item.getRawValue() == v);                  });              else {                  for (var k in this.items) {                      this.items[k].checked = this.items[k].inputValue == v;                  }              }          }      });            var radiogroup= new Ext.form.RadioGroup({                   fieldLabel : "radioGroup",                   items : [{                               boxLabel : '男',                               inputValue : "男",                               name : "rg",                               checked : true                          }, {                               boxLabel : '女',                               name : "rg",                               inputValue : "女"                          }]               });     var _form=new Ext.form.FormPanel({           renderTo:'login-form',           title:'系统登录',           frame:true,           width:290,           height:160,           layout:'form',           buttonAlign:'center',           labelAlign:'center',           defaults:{width:160,labelWidth:80,xtype:'textfield'},           items:[               {fieldLabel:'用 户 名',vtype:'alpha',id:'name',name:'name'},               {fieldLabel:'通 行 证',inputType:'password',vtype:'alpha',id:'pass',name:'pass'},               radiogroup         ],           buttons:[               {             text:'登 录',             style:'margin-right:15',             handler : function(){             if(_form.getForm().isValid()){             Ext.Ajax.request({             method : "post",             url : "test2.jsp",             params : {             sex : radiogroup.getValue()             },             callback : function(options,success,response){             Ext.Msg.alert('提示',response.responseText);             }             });             }             }             },               {                   text:'清 除',                   style:'margin-left:15',                   handler:function(){                       var _name=_form.findById('name').setValue('');                       var _pass=_form.findById('pass').setValue('');                   }               }           ]       });  }); 


在后台的controller或jsp,可以直接用
String sex = request.getParameter("sex");
接收传值。
不知道大家有没发现,有ajax与没有ajax,传值是有点区别的

读书人网 >JavaScript

热点推荐