Ext JS4 학습노트 양식(Form)을 보낼 때도 양식 아래의 양식(Grid) 데이터를 함께 보내는 방법

4085 단어 form
Ext JS4 학습노트 양식(Form)을 보낼 때도 양식 아래의 양식(Grid) 데이터를 함께 보내는 방법
어제 개발할 때 작은 문제가 발생했는데, Grid의 내용을 Form과 함께 서버에 보내는 방법입니다.기본적으로 폼 (Form) 의 폼 (Grid) 데이터는 폼과 함께 발송되지 않습니다. 이럴 때 폼 안의 데이터를 처리해야 합니다.두 가지 사고방식이 있는데 첫 번째는 Form을 보낸 후에 하나의 리셋 함수로 Grid의 데이터를 꺼내서 보내는 것이다. 이렇게 하면 약간 번거롭기 때문에 표 발송의 성공 여부 등 문제를 고려해야 한다.두 번째는 Grid의 데이터를 각각 훑어보고 Json 데이터를 구성하여 표에 숨겨진 한 영역에 넣고 표와 함께 보내는 것이다.두 번째 방법으로 세부 코드는 다음과 같습니다.
         
 1 var myStore = Ext.getCmp('myGrid').getStore(); // Store
 2         var myRecord= myStore.getRange(); // Store record myRecord 
 3         var myJson = [];
 4         for(var i in myRecord){            // record, myJson 
 5             myJson .push({
 6                 'a': myRecord[i].get('a'),
 7                 'b': myRecord[i].get('b'),
 8                 'c': myRecord[i].get('c'),
 9                 'd': myRecord[i].get('d'),
10                 'e': myRecord[i].get('e'),
11                 ...................................
12             });
13         };
14         Ext.getCmp('hiddenField').setValue(Ext.encode(myJson));// myJson Json , id ‘hiddenField’ , 。

자, 이렇게 다시 표를 제출할 때 표(Grid)의 데이터를 표와 함께 서버에 보내고 Json 데이터 형식으로 보냅니다.
 
화려한 분할선 ----------------------------------------------------------
어제 개발할 때 같은 문제에 부딪혔지만 이번에는 폼과 함께 보내지 않고grid 데이터를 단독으로 보냅니다.사실 정부에서 추천하는 방법이 있는데, 함께 데이터를 서버에 보내는 것이다.이번에는 어리석은 방법으로 json 데이터에 직접 봉인하여 aax 요청으로 서버에 보내면 됩니다.코드는 다음과 같습니다.
 1 Ext.Ajax.request({
 2      url: 'your_url' ,
 3      params: {
 4        id: this.id,
 5        jsonData: Ext.encode(myJson)/ myJson myJson 
 6      },
 7      success: function(response){
 8           var text = response.responseText;
 9           alert(text);
10      }
11 });

 

좋은 웹페이지 즐겨찾기