我需要在单击时运行两个函数.即使嵌套在一起,我也无法让它们都工作
I need to run two functions onclick. I can't get them both to work even when nested together
HTML 是:
<input name="submit"
type="submit"
class="button"
value="Click Here"
tabindex="13"
onclick="return ValidateForm();" />
ValidateForm() 函数具有所有常用的表单验证代码。我无法运行的另一个功能(除了它本身工作正常..例
<input name="submit"
type="submit"
class="button"
value="Click Here"
tabindex="13"
onclick="disDelay(this);" />
我试着把它们都放在点击之后......例
<input name="submit"
type="submit"
class="button"
value="Click Here"
tabindex="13"
onclick="return ValidateForm(); disDelay(this);" />
我还尝试将一个代码放在同一个函数中,但没有成功。
函数 disDelay() 是
function disDelay(obj){
obj.setAttribute('disabled','disabled');
setTimeout(function(){obj.removeAttribute('disabled')},10000);
}
它被用作延迟,以防止表单从多次单击中获得重复提交。延迟现在为 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>
这里有一个简单的选项来纠正它:
<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(); " />
来自 ValidateForm 的返回将导致代码的其余部分无法访问,因此它必须是最后一个。
在 onclick 字符串中,disDelay(this) 没有被调用,因为您返回了来自 ValidateForm() 的响应,因此第二条语句永远不会执行。
如果您绝对必须在 html 中使用 onclick 属性,请尝试:
<input name="submit" type="submit" class="button" value="Click Here" tabindex="13" onclick="disDelay(); return ValidateForm();" />
相关文章:
- 我怎么能把一个类嵌套在另一个类中呢
- jQuery对嵌套在<李>并且<a>元素,同时离开父<ul>打开
- 嵌套在 ng 重复中的拼接数组
- 嵌套在 .get 请求中的 jQuery 不会执行
- 使用 jquery 更改嵌套在随机 html 元素中的 html 元素
- 嵌套在表单中的引导下拉菜单:输入时选项卡索引中断
- 我需要在单击时运行两个函数.即使嵌套在一起,我也无法让它们都工作
- 嵌套在WHILE循环中的IF语句的结果混淆了我(Javascript)
- 为什么我的UI应用程序嵌套在引导模式中时无法工作
- Protractor Jasmine描述了嵌套在it块中的块
- 获取嵌套在多个类中的值
- 验证嵌套在ng中的输入元素repeat也用于页面加载,而不仅仅用于更改
- iFrame嵌套在具有相同ID的iFrame中
- 从嵌套在函数中的Node.js回调返回对象
- sinon 存根嵌套在描述/请求函数中
- 如何使用Angular显示嵌套在ng网格中的类似json的复杂内容
- 访问嵌套在 YUI 代码块中的函数
- 你能嵌套在点击事件上吗?
- 如何检查一个对象是否嵌套在另一个对象的属性中作为属性
- 嵌套在 Node 中的循环.js与 Mocha 测试框架一起