Как передать пользовательский аргумент через функцию обратного вызова submit в ExtJS

#extjs #callback

#extjs #обратный вызов

Вопрос:

Это моя функция обратного вызова с пользовательским параметром.

 function successCallback(form, action, customParam){
    if(customParam == '1'){
        // do xxx
    }
    else if(customParam == '2'){
        // do yyy
    }
    else {
        // do zzz
    }
}
  

Есть ли у вас какая-либо идея передать пользовательское значение через конфигурацию отправки ExtJS?

 myForm.getForm().submit({
    url: 'http://mysite.com/target',
    method: 'POST',
    success: successCallback(9), // ??
});
  

Спасибо.

Ответ №1:

В вашем случае просто используйте это:

 ...
success : successCallback
...
  

Функция successCallback будет вызвана со всеми этими параметрами.

В будущем используйте CreateDelegate для функций обратного вызова с параметрами и областью действия.

 ...
success : function(){
    successCallback.createDelegate(param1, param2)();
}
...
  

Ответ №2:

В общем:http://www.terrainformatica.com/2006/08/delegates-in-javascript-now-with-parameters /

в частности:

   ...
  success: function() { successCallback(1,2,3); } , 
  ...