JS在函数之间传递var

时间:2013-06-18 09:22:12

标签: javascript extjs

我有一个家伙,我想在两个函数之间传递一个var ...我怎么能这样做?

例如我的代码是下一个

      beforeedit: 

            function preditar(editor, e, eOpts) {
            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);

            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){
             var record = context.record;
             var recordData = record.getData();

             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
             });
         }
        }

我想将var mola传递给编辑功能...感谢所有人,我不知道我怎么能这样做...我在互联网上找不到任何例子我只找到将var传递给函数但不传递函数。

1 个答案:

答案 0 :(得分:4)

在函数之外声明它。 或者从第一个函数返回它,并将其传递给第二个函数。

这样的事可能吗?

{
    mola: '',
    beforeedit:
    function preditar(editor, e, eOpts) {
        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);

        mola = e.record.data.ESTLOT;
        alert(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) {
        var record = context.record;
        var recordData = record.getData();

        recordData.Funcionalidad = 'Modificar';
        alert(JSON.stringify(recordData));

        mola && alert(mola);

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

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

}