如何在Submit表单上的另一个函数内调用javascript函数?

如何在Submit表单上的另一个函数内调用javascript函数?,javascript,html,Javascript,Html,我想在表单的onsubmit中调用toggle2(): function toggle1() { //code toogle1 function toggle2() { //code toogle2 } } 我对此一无所知,提前谢谢。toggle2是在toggle1的范围内定义的,因此它不是全局的,不可访问 您可以将其分配给全局: <form name="myForm" action="blabla.php" onsubmit="return

我想在表单的onsubmit中调用
toggle2()

function toggle1() {
    //code toogle1

    function toggle2() {
        //code toogle2
    }
}


我对此一无所知,提前谢谢。

toggle2
是在
toggle1
的范围内定义的,因此它不是全局的,不可访问

您可以将其分配给全局:

<form name="myForm" action="blabla.php" onsubmit="return toogle2()" method="post">
…但在调用
toggle1
之前,它不可用

不过,一般来说,全球化是个坏主意。在大多数情况下,不使用它们通常会更好。这使得
onXXX
属性不可用,因此您必须切换到更现代的属性(直接或通过抽象库)

但在使用它之前,您仍然需要调用
toggle1

function toggle1() {
    //code toogle1

    function toggle2() {
        //code toogle2
    }

    document.querySelector('form').addEventListener('submit', toggle2);

}

如果我是你,我会用上面的方法

你为什么想要这个?为什么不直接调用
toggle1()
?@Anickyan因为toogle1()中有一些东西让我想调用toogle2(),有没有办法调用toogle2?谢谢,您需要在toggle1中返回toggle2才能从toggle1范围外访问它,只需将
toggle2()
置于
toggle1()
之外即可使其全局化。案例已解决。@user2449684如果您想从内部toggle1调用toggle2,您可以将其移到外部,它仍然可以由toggle1调用。我认为这样做的唯一原因是对toggle1之外的任何代码隐藏toggle2。谢谢@Quentin的回答,它起了作用,但您仍然需要首先调用toggle1,这是一个非常糟糕的方法。我会将toogle2()移到外部
function toggle1() {
    //code toogle1

    function toggle2() {
        //code toogle2
    }

    document.querySelector('form').addEventListener('submit', toggle2);

}
function toggle1() {
    //code toogle1
    toggle2();
}

function toggle2() {
   //code toogle2
}