Javascript 我需要在单击时运行两个函数。我能';即使嵌套在一起,也不能让它们都工作
HTML是: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秒,仅用于测试目的。 我需要验证和延迟一起工作。返回第一个函数的值会终止单击处理程序。本质上,这就是
<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();" />