论坛首页 入门技术论坛

EXT form

浏览 5174 次
锁定老帖子 主题:EXT form
该帖已经被评为新手帖
作者 正文
   发表时间:2007-06-19  

JS代码如下:

Ext.onReady(function() {

    Ext.QuickTips.init();

    // turn on validation errors beside the field globally
    Ext.form.Field.prototype.msgTarget = 'side';

    /*
     * ================  Simple form  =======================
     */

    var simple = new Ext.form.Form({
        labelAlign: 'right',
        labelWidth: 75, // label settings here cascade unless overridden
        url:'/form',
        buttonAlign: 'center'
    });

    var simple_name = new Ext.form.TextField({
        fieldLabel: 'Name',
        name: 'name',
        width:175
    });

    var simple_title = new Ext.form.TextField({
        fieldLabel: 'Title',
        name: 'title',
        width:175
    });

    simple.fieldset(
    {legend:'Edit'},
            simple_name,
            simple_title
            )

    var simple_data = new Ext.data.Store({
        proxy: new Ext.data.HttpProxy({url: '/form/edit.jsp?id=10'}),
        reader: new Ext.data.JsonReader({}, [ 'id', 'name', 'title']),
        remoteSort: false
    });

    simple_data.on('load', function() {

        simple_name.setValue(simple_data.getAt(0).data.name);
        simple_title.setValue(simple_data.getAt(0).data.title);

        simple.addButton('Save', function() {
            if (simple.isValid()) {
                simple.submit({
                    params:{
                        action:'submit',
                        id:simple.getAt(0).data.id
                    },
                    waitMsg:'Saving...'
                });
            } else {
                Ext.MessageBox.alert('Errors', 'Please fix the errors noted.');
            }
        }, simple);

        simple.render('form-ct');

    });

    simple_data.load();

});

 

问题:simple_name.setValue(simple_data.getAt(0).data.name); 报异常,提示getAt(...)为空或不是有效对象。

 

   发表时间:2007-06-19  
你这一橐是啥东西啊
0 请登录后投票
   发表时间:2007-06-19  
不好意思,后面html代码部分贴上去有点问题。修改一下。
0 请登录后投票
   发表时间:2007-06-19  
加上服务端的代码,文件名:edit.jsp

<%@ page import="cn.sample.Sample" %>
<%@ page import="net.sf.json.JSONObject" %>
<%
    Sample sample = new Sample(String.valueOf(1), "a" , "b");
    JSONObject jsonObject = JSONObject.fromBean(sample);
    response.getWriter().print(jsonObject);
%>
0 请登录后投票
   发表时间:2007-06-20  
中间的load事件改成这样看看
simple_data.on('load', function(ds,records,options) {
   simple_name.setValue(ds.getAt(0).data.name);
   simple_title.setValue(ds.getAt(0).data.title);
............
0 请登录后投票
   发表时间:2007-06-21  
edit.jsp中返回的是一串json文本,不是数组,把它改成数组看看。
<%
response.getWriter().print("[{\"id\":1,\"name\":\"a\",\"title\":\"b\"}]");
%>
0 请登录后投票
   发表时间:2007-06-21  
试一下 simple_data.getAt(0).get('name')
0 请登录后投票
   发表时间:2007-07-31  
大哥,你的问题解决了没?能不能把你的这个例子源码发给我参考一下,我的email:slf616@sina.com 我现在也是无法把数据传到后台。
0 请登录后投票
   发表时间:2007-09-20  
Ext.QuickTips.init();这句是什么意思?能不能解释一下,谢谢!
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics