Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我需要在单击时运行两个函数。我能';即使嵌套在一起,也不能让它们都工作_Javascript_Validation_Function_Onclick_Delay - Fatal编程技术网

Javascript 我需要在单击时运行两个函数。我能';即使嵌套在一起,也不能让它们都工作

Javascript 我需要在单击时运行两个函数。我能';即使嵌套在一起,也不能让它们都工作,javascript,validation,function,onclick,delay,Javascript,Validation,Function,Onclick,Delay,HTML是: <input name="submit" type="submit" class="button" value="Click Here" tabindex="13" onclick="return ValidateForm();" /> 它将用作延迟,以防止表单从多次单击中获得重复提交。目前延迟为10秒,仅用于测试目的。 我需要验证和延迟一起工作。返回第一个函数的值会终止单击处理程序。本质上,这就是

HTML是:

<input name="submit"
       type="submit"
       class="button"
       value="Click Here"
       tabindex="13"
       onclick="return ValidateForm();" />
它将用作延迟,以防止表单从多次单击中获得重复提交。目前延迟为10秒,仅用于测试目的。
我需要验证和延迟一起工作。

返回第一个函数的值会终止单击处理程序。本质上,这就是您在尝试组合时所做的:

<input name="submit" type="submit" class="button" 
       value="Click Here" tabindex="13" 
       onclick="return submit_Click(this);" />

<script type="text/javascript">
    function submit_Click(sender) {
        return ValidateForm(); 
        disDelay(sender); // !!! This call is unreachable !!!
    }
</script>

函数提交\单击(发件人){
返回ValidateForm();
disDelay(发送方);/!!!无法拨打此电话!!!
}
下面是一个简单的选项来纠正它:

<input name="submit" type="submit" class="button" 
       value="Click Here" tabindex="13" 
       onclick="return submit_Click(this);" />

<script type="text/javascript">
    function submit_Click(sender) {
        var r = ValidateForm(); 
        disDelay(sender); // It seems like you would only want to call this
                          // function if the form is validate, so there should
                          // probably be an if-statement surrounding it. However,
                          // I'll leave that up to you.
        return r;
    }
</script>

函数提交\单击(发件人){
var r=ValidateForm();
disDelay(发送者);//似乎您只想调用此
//函数,因此应该
//可能是围绕它的if语句。但是,
//那就交给你了。
返回r;
}

您几乎成功了,只需颠倒函数调用的顺序即可

<input name="submit" type="submit" class="button" value="Click Here" tabindex="13" onclick="disDelay(this); return ValidateForm(); " />


ValidateForm的返回将导致代码的其余部分无法访问,因此它必须是最后一个。

在onclick字符串中,不会调用disDelay(this),因为您从ValidateForm()返回响应,所以第二条语句永远不会执行

如果必须在html中使用onclick属性,请尝试:

<input name="submit" type="submit" class="button" value="Click Here" tabindex="13" onclick="disDelay(); return ValidateForm();" />


element.onclick=function(){function01();function02();}不要在html:dw上放置事件您正在观察的行为是什么?当我在onclick中错误地使用这两个函数时,它不会验证或延迟。当我只使用其中一个函数或另一个函数时,它工作得很好,但我同时需要这两个函数?如果没有,那么您可以忽略延迟(这对于用户来说首先是非常烦人的)
<input name="submit" type="submit" class="button" 
       value="Click Here" tabindex="13" 
       onclick="return submit_Click(this);" />

<script type="text/javascript">
    function submit_Click(sender) {
        var r = ValidateForm(); 
        disDelay(sender); // It seems like you would only want to call this
                          // function if the form is validate, so there should
                          // probably be an if-statement surrounding it. However,
                          // I'll leave that up to you.
        return r;
    }
</script>
<input name="submit" type="submit" class="button" value="Click Here" tabindex="13" onclick="disDelay(this); return ValidateForm(); " />
<input name="submit" type="submit" class="button" value="Click Here" tabindex="13" onclick="disDelay(); return ValidateForm();" />