extjs 怎样从数据库或后台中获取值给form填充默认值

extjs 怎样从数据库或后台中获取值给form填充默认值,第1张

form 中的元素用数组,然后用后台传来的 json 给 元素 setValue()

var arr1= new Array()

    arr1['id']=new =new Ext.form.TextField ({name:'id', fieldLabel: 'id',value:0})

    arr1['name']=new Ext.form.TextField ({name:'name', fieldLabel: '姓名 Name',value:""})

    arr1['email']=new Ext.form.TextField ({name:'email', fieldLabel: '电邮地址 Email',value:""})

var formset= new Ext.FormPanel({

  frame:true,

trackResetOnLoad : false,

defaults:{labelAlign:'right',labelWidth:60, frame:true,layout:'form'}, 

fields_arr: arr1 ,

items: [this.fields_arr['id'],

this.fields_arr['name'],

this.fields_arr['email']

],

refrefield:function(config){

for (var key in config){

  if (this.fields_arr[key]!==undefined){

this.fields_arr[key].setValue(config[key])

}

},

})

 Ext.Ajax.request( {

  url : 'user_save.action',

  method : 'post',

  success : function(response, options) {

   var o = Ext.util.JSON.decode(response.responseText)

       formset.refrefield(0) //这里给字段赋值

  },

  failure : function() {

  }

 })

}

extJs只是一个前台JS控件,是无法直接从数据库取出数据的,必须由JSP,PHP,ASP等网络编程语言从数据库取出数据再填充如EXTJS里,

EXTJS只是客户端语言

是无法与后台通信的,

你根本就没熟悉SSH+extjs的流程,我跟你说下流程,喝了酒,可能说的不太清:

1、首先提交时可以同时提交的,使用

form.submit({

params:{‘gridData’ : xxx}

})

其中form.submit函数本身就会把form提交上去,然后param配置项里的xxx就应该是你想要传的grid

当然 有前提条件,首先在form中每个textfield组件定义name为“对象名.属性名”的方式,如你提交的是用户信息,那么对象名可能是person,name值就是“person.age”,代表用户年龄。后台也要有成员变量person,这样struts就能接受person对象,直接可以拿到其中的年龄。

其次,你所谓的传递grid,其实是传递store中得数据,方法是可以先将store的数据拿出来,然后转成json传,将json串赋值给xxx就可以了,后台用request.getParameter("gridData")可以得到json串,再将其转化成对象,就可以得到对象的属性,也就是每条数据的信息了。你也可以在前台不转,直接传到后台,后台用数组接收,不过拿到每个属性不太好拿。

这样其实从前台拿到的是一个对象--------form传递过来的,还有一个应该是一个List集合,里面是grid的每一条数据,如果你想事务控制,我告诉真的就是写在一个service方法,因为你在action中调用的service方法的参数应该有form传过来的对象和那个List,在service当然就可以一起处理这些东西了,不明白就别说别人说的不对,你以为你就是对的啊。那是你没理解!

好吧,总结一下,前台传一个form对应的对象,再传一个grid的List,后台一个action同时接受这两个参数,然后调用service方法,此方法至少有两个参数,一个是form对应的对象,一个是grid对象的List,在service处理这两个参数,spring自动就会实现事务处理!

ExtJS 博大精深,不会就态度好点请教别人,别搞得自己像是不耻下问似,不一定有人理解,我也就是喝点酒,不然懂的人看你那几句白痴话就不愿意回答你。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6777094.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存