无法在函数中嵌套Javascript函数

时间:2013-05-15 17:15:27

标签: javascript jquery function

我有以下功能设置:

function disableButtons(){
    $('div.test').block({
        message: '<h1>Processing</h1>',
        css: { border: '3px solid #a00' }
        });
    }

现在我有另一个功能,我想从以下地方打电话:

function test(){
    //call function here    
    disableButtons();
}

如果我将函数1的确切信息放入函数2,它可以工作,但如果我直接从函数2调用函数1,则不行。这是我希望它如何工作:

function1 () {
//function statements
}

function2 () {
    function1();
}

在我看来,这应该只是“工作”,但我认为我的语法可能有问题,因为它不起作用。

编辑: 这是我的实际代码......

function disableButtons(){
            $('div.test').block({
                message: '<h1>Processing</h1>',
                css: { border: '3px solid #a00' }
            });

function selectEmployeeInfo(){
    disableButtons();

        document.forms[0].action="userGet.do";
        document.forms[0].submit();

    }

3 个答案:

答案 0 :(得分:6)

我猜你没有提供所有代码,只提供必要的代码;所以我假设你的disableButtons函数是作用域的,这意味着它不是一个全局函数:

// Assuming missing bits of code, probably something similar to '$(function(){' 

    function disableButtons(){
        $('div.test').block({
            message: '<h1>Processing</h1>',
            css: { border: '3px solid #a00' }
        });

    }

}); // <-- Ending of scope?


function selectEmployeeInfo(){
    disableButtons();   // Undefined because of scope?

    document.forms[0].action="userGet.do";
    document.forms[0].submit();

}

尝试在});之前或function disableButtons()定义之后移动selectEmployeeInfo(),看看会发生什么:)

答案 1 :(得分:1)

您需要function关键字来声明函数:

function function1 () {
//function statements
}

function function2 () {
    function1();
}

答案 2 :(得分:1)

语法错误,你的括号太多了。

function disableButtons(){
        $('div.test').block({
            message: '<h1>Processing</h1>',
            css: { border: '3px solid #a00' }
        });

    }


function selectEmployeeInfo(){
    disableButtons();

        document.forms[0].action="userGet.do";
        document.forms[0].submit();

}