extjs 提交表单(注意Form必须的规定) , 取JSP返回值 , 转换JSON数据为JSON对象使用

 
 /**
  * 以下是表单
  * */
var memberAddWindow;

 //文章标题
 var articletitle = new Ext.form.TextField({
  fieldLabel:'文章标题',
  name:'memberName',    //必须指名name属性.用于将参数传出去.参数名:name属性值,如'memberName'.参数值:'memberName'对应的文本框的值.
  allowBlank:false,
        anchor:'90%'
 });

 //表单对象
    var memberForm = new Ext.FormPanel({

        title: '添加新文章信息',

        url:'./member_manage.jsp?command=insert',

        items: [articletitle],
        buttons:[
{
         text:'提交',
         handler : function(){
                          if ( memberForm.getForm().isValid() )           //表单数据进行验证
                          memberForm.getForm().submit({                  //提交表单
                               waitMsg:'保存中,请稍后...',                   //表单提交等待过程中,出现的等待字符
                               success : function(re,v){              //表单提交成功后,调用的函数.参数分为两个,一个是提交的表单对象,另一个是JSP返回的参数值对象
                                   var jsonobject = Ext.util.JSON.decode(v.response.responseText);   //将返回的JSON数据转换成JSON对象,转换失败即报错.
                                   // Ext.Msg.alert("msg,oject",jsonobject.msg);                                    //用JSON对象获取JSON数据的值

                                   memberForm.getForm().reset();           //表单中所有数据置空
                                   memberAddWindow.hide();                 //表单隐藏
                                   bbscenter.getRootNode().reload();       // 重新加载树结点.
                                              }
                                failure : function(){
                                    Ext.Msg.alert("msg,oject",jsonobject.msg);      //返回失败
                           });
                         }
},{
       text:'取消',
      handler : function(){
                       memberForm.getForm().reset();
                       memberAddWindow.hide();
                     }
     }]
    });
   
    //窗体对象
    function addarticle(){
     if(!memberAddWindow){
   memberAddWindow = new Ext.Window({
       el:'window_win',
       layout:'fit',

       closable:true,
       closeAction:'hide',
          plain:true,
       items: [ memberForm]
   });
     }
  memberAddWindow.show(Ext.get('newWindowButton'));
    }  


JSP:
out.print("{ success:true , msg:'123'}") ;  //只有指定 success:true才能 返回成功, succes:false或其他字符 返回失败.
//form的提交是对ajax请求做了封装,要求必须是那咱格式返回响应,否则无法正确解析 ; Ajax.lib.request 没有这规定.

你可能感兴趣的:(ExtJs)