0
function toggle1() {
    //code toogle1

    function toggle2() {
        //code toogle2
    }
}

I want to call toggle2() in the onsubmit of the form:

<form name="myForm" action="blabla.php" onsubmit="return toogle2()" method="post">

I have no clue about this, thanks in advance.

4

2 回答 2

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

function toggle2() {
   //code toogle2
}

If I was you,I would like use the above way

于 2013-06-09T08:59:31.273 回答
1

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

您可以将其分配给全局:

function toggle1() {
    //code toogle1

    function toggle2() {
        //code toogle2
    }

    window.toggle2 = toggle2;

}

toggle1…但在被调用之前它不会可用。

不过,全局变量通常是个坏主意。在大多数情况下,您通常最好不要使用它们。这使onXXX属性无法使用,因此您必须切换到更现代的东西(addEventListener直接或通过抽象库)。

function toggle1() {
    //code toogle1

    function toggle2() {
        //code toogle2
    }

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

}

不过,您仍然需要先打电话toggle1才能使用它。

于 2013-06-09T08:46:17.897 回答