我有3个javascript函数:

validateClk()validateAmPm()getClks()

并且在发生两个事件时,它们将按以下方式执行:

OnChange-执行validateClk()validateAmPm()

OnClick-执行getClks()getClks()返回布尔值)

所有3个函数都可以正常运行,但是问题是,在getClks()完成执行并返回布尔值之后,下一个函数postClocks()无法运行。我非常确定postClocks()的代码也是正确的。如果我不对getClks()使用return语句,则getClks()函数将无法正常工作。

请帮忙 :(

<script type='text/javascript'>
    function validateClk() {
        ....
        var clks = clocks.value;
        if (clks == "") {
            alert('Enter time');
        }
        else { ... }
    }
</script>

<script type='...'>
    function validateAMPM() {
        ...
        var ampm= ap.value;
        if  (ampm=="") {
            alert('Enter am or pm');
        }
    }
</script>

<script type='text/...'>
    function getClks() {
        var clks= clock.value;
        var ampm= ap.value;
        if (clks==" && ampm="") {
            alert('Enter time and am/pm');
            return false;
        }
        else { ... }
        return true;
    }
</script>

<... onChange="validateClk(); validateAmPm();" />

<... button label="Submit" onClick="return getClks(); postClocks(); return false;" />

最佳答案

让所有自定义函数返回boolean然后将onclick事件更改为此:

onClick="if(!getClks() || !postClocks()) return false;"


假设您不想在无效的情况下继续

关于javascript - Javascript功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4994436/

10-12 16:24