在js中的函数之间传递参数时失败

时间:2013-06-18 10:54:54

标签: javascript extjs param

当我启动我的应用程序时出现下一个失败:“记录为空或不是对象”,出现在下一行“var record = context.record;”有人可以解释或找到失败...我试图将var“mola”从beforeedit传递给编辑函数...

我的代码是下一个:

listeners: {

        beforeedit: 

            function preditar(editor, e, eOpts, mola) {
            var grid = Ext.getCmp('gridTabla'); // or e.grid
            var hoy = new Date();

            dia = hoy.getDate(); 

            if(dia<10)
                {
                    dia=String("0"+dia);

                }

            mes = hoy.getMonth();

            if(mes<10)
            {
                    mes=String("0"+mes);

            }
            anio= hoy.getFullYear();
            fecha_actual = String(anio+""+mes+""+dia);
            //alert(fecha_actual);

            var mola = e.record.data.ESTLOT;
            //alert(mola);
            editar(mola);

            if (e.record.data.ESTLOT === '02') {
                if (e.record.data.FECMOD === fecha_actual)
                 {
                e.cancel = false; //permite
                 }
                else{
                    e.cancel = true; //mo permite
                }

            }  else
            {
                e.cancel = false; //permite
            }

        },

         edit:

         function editar(e, context, mola){
             var record = context.record;
             var recordData = record.getData();
             var mola2= mola;
             alert(mola2);
             recordData.Funcionalidad = 'Modificar';
             //alert(JSON.stringify(recordData));

             Ext.Ajax.request({
                 url: 'http://localhost:8080/MyMaver/ServletTablaLotes',
                 method: 'POST',

                 // merge row data with other params
                 params: recordData
             });
         }
        }
});

2 个答案:

答案 0 :(得分:0)

问题不是mola变量,而是e.record。正如您的错误消息所述,变量e不包含对象recorde.recordnull。尝试console.log(e)进一步检查变量e

答案 1 :(得分:0)

您正在使用

调用该函数
editar(mola);

但该功能定义为:

editar(e, context, mola)

因此该函数仅接收e参数,其他函数设置为undefined。