2011-08-18 2 views
0

제출 이벤트에 대해 Ext.form.Formpanel 하위 요소 Ext.form.BasicForm에 수신기를 추가하고 .reset() 메소드를 통해 양식을 재설정하려고합니다.Sencha Touch FormPanel 제출 수신기가 작동하지 않습니다.

submit : (Ext.FormPanel this, Object result) 
Fires upon successful (Ajax-based) form submission 

는하지만 어떻게 든 정말 나를 위해 작동하지 않습니다 http://dev.sencha.com/deploy/touch/docs/?class=Ext.form.FormPanel에서 문서에 명확하게 나와 있습니다. 이 내 코드입니다 : 내가 이런 식으로하려고하면 문제가 excatly 여기에 내가이

Uncaught TypeError: Object [object Object] has no method 'reset'

누군가가 설명 할 수

var messInput = new Ext.form.FormPanel 
({ 
    fullscreen : true, 
    url : '/mess/', 
    standardSubmit : false, 
    listeners : { 
     el: { 
      submit: function(form, result) { 
       form.reset(); 
      } 
     } 
      }, 
    items: [ 
      new Ext.form.Text ({ 
       name : 'mess', 
       placeHolder: 'Text and #Tags', 
       listeners : { 
       keyup :function(field, event) { 
        var keyCode = event.browserEvent.keyCode; 
        if(keyCode == 51) { 
         console.log(event.browserEvent.keyCode); 
        } 

       } 
      } 
     })] 
}); 

? 기본 엘에 리스너를 추가하기 때문에 부모 Formpanel을 호출해야합니까?

답변

0

DOM 요소에 대해 기본 js 이벤트 "제출"을 듣고 있습니다. 당신은 내부에 물건을 넣을 수 없습니다 (쉽게). 이것이 Ext.form.FormPanel에 beforeSubmit 이벤트가있는 이유입니다. 데이터는 이미 수집되었으므로 반환 양식이 true로 설정된 ajax 제출 양식 및 프로세스를 재설정 할 수 있습니다.

편집 :이 마지막 대답 미안 올바른 방법이다.

+0

감사합니다. 그러나 이것이 문서에 명시된 곳은 어디입니까? 만약 내가 당신이 그것을 할 양식 필드를 다시 설정하지만 빈 게시물 요청을 할 수도 있습니다. 양식이 제출 된 후이 행사가 시작되지 않아야합니까? – faebser